我有多种方法,需要由不同的线程并行启动。
public void run() {
method1();
method2();
method3();
}
我希望threadONE启动method1(),并且threadTWO并行启动method2()。这可能吗?
答案 0 :(得分:0)
您所写的内容是调用qs = CVEEntry.objects.prefetch_related('references', 'references__source').all()
的{{1}}方法,然后调用run()
,然后调用method1()
。
你想要的是三个不同的method2()
个实例;一个method3()
调用Runnable
,一个run()
调用method1()
,另一个调用run()
调用method2()
。< / p>
run()
没有任何魔力。它只是一种方法,就像任何其他方法一样。如果你想在不同的线程中发生某些事情,那么你必须调用一些库例程(例如,构造一个新的method3()
对象和run()
它,或者将任务提交给Thread
)实现它。
答案 1 :(得分:0)
一个是调用方法1(),并且第一行方法调用第二个,第三行相同。
或
调用method1(method2(),method3());