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