對不起,如果這是一個愚蠢的問題。我嘗試使用多個多線程類來完成不同的工作,這涉及多次在不同時間調用這些多線程。但我不確定使用哪種方法。代碼如下所示:如何在Python中多次調用線程?
class workers1(Thread):
def __init__(self):
Thread.__init__(self)
def run(self):
do some stuff
class workers2(Thread):
def __init__(self):
Thread.__init__(self)
def run(self):
do some stuff
class workers3(Thread):
def __init__(self):
Thread.__init__(self)
def run(self):
do some stuff
WorkerList1=[workers1(i) for i in range(X)]
WorkerList2=[workers2(i) for i in range(XX)]
WorkerList2=[workers3(i) for i in range(XXX)]
while True:
for thread in WorkerList1:
thread.run (start? join? or?)
for thread in WorkerList2:
thread.run (start? join? or?)
for thread in WorkerList3:
thread.run (start? join? or?)
do sth .
我想在所有的WorkerList所有線程開始在同一時間運行,或至少大約在同一時間開始。一旦它們全部終止後,我想再次調用所有線程。
如果沒有循環,我可以使用.start;但由於我只能啓動一次線程,所以顯然不適合這裏。如果我使用run,似乎所有線程都按順序啓動,不僅是同一列表中的線程,還有來自不同列表的線程。
任何人都可以請幫忙嗎?
但我使用的start()方法中的循環,我的程序實際上可以給我一個運行時錯誤,說線程已經啓動。所以我不能再次在每個線程中調用run方法。 – user500432 2010-11-08 08:54:14
對,我編輯了我的答案... – 2010-11-08 09:13:36