import time
from threading import Thread
def s_process():
print('***********************************************')
##time.sleep(2)
print('###############################################')
##time.sleep(2)
return
a = Thread(target=s_process)
while(True):
a.start()
a.join()
a.start()
a.join()
爲什麼這個代碼導致錯誤蟒蛇線程(join()方法而不是等待線程結束?)
***********************************************
###############################################
Traceback (most recent call last):
File "xxxxxxxxxxxxxxxxxxxxx", line 16, in <module>
a.start()
RuntimeError: threads can only be started once
應該不會加入()等到線程完成。如果我有誤解怎麼加入()的作品,我應該如何等待線程不使用超時
你的代碼改成這樣 ** 而(真): 一個線程=(目標= s_process) a.start() a.join() ** – Stack
的錯誤不是在'加入'行,它在'start'行。對我來說這似乎不言自明:不要在同一個對象上調用兩次'start'。如果必須創建一個新的線程對象。 – Kevin
您只定義了1個線程'a',並且您已經開始並稱其爲join()方法。不能再次啓動它! – pstatix