Thread runnableInst = new Runnable(){ public void run(){}};
Thread thread1 = new Thread(runnableInst);
Thread thread2 = new Thread(runnableInst);
thread1.start();
thread2.start();
在同一个 Object runnableInst 上启动两个线程可以吗?
做这样的设计好不好?
Thread runnableInst = new Runnable(){ public void run(){}};
Thread thread1 = new Thread(runnableInst);
Thread thread2 = new Thread(runnableInst);
thread1.start();
thread2.start();
在同一个 Object runnableInst 上启动两个线程可以吗?
做这样的设计好不好?
是的,您可以这样做,但需要注意的一点是,两个线程都将访问runnableInst
. 因此,您必须确保在必要时同步访问。
这样做没有问题。但是,如果您计划调度大量并行任务,则可能需要开始使用ExecutorService
API。
这确实是可能的。在大多数情况下,我认为这不是好的或好的设计。我喜欢将 Runnable 实例视为一段孤立的代码,它只通过定义明确、安全的方式与其他线程共享数据。
在同一个 Object runnableInst 上启动两个线程可以吗?
是的,可以在同一个 Object runnableInst 上启动两个线程。
做这种设计好不好——这取决于用例。例如,如果没有与共享资源上的读/写相关的内容,那么这是一个很好的设计。