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()
warum wird dieser CodePython-Thread in einem Laufzeitfehler Schleife verursacht (join() nicht für Thread warten zu beenden?)
***********************************************
###############################################
Traceback (most recent call last):
File "xxxxxxxxxxxxxxxxxxxxx", line 16, in <module>
a.start()
RuntimeError: threads can only be started once
sollte nicht join() warten, bis der Thread einen Fehler verursacht ist fertig. und wenn ich falsch verstanden, wie join() funktioniert, wie soll ich warten, bis der Faden ohne Verwendung eines Timeout zu beenden
Ändern Sie Ihren Code zu diesem ** while (True): a = Thread (target = s_process) a.Starten() a.join() ** – Stack
Der Fehler ist nicht auf die ' Join-Linie, es ist auf der Startlinie. Es scheint mir selbsterklärend zu sein: Rufen Sie nicht zweimal am selben Objekt 'start' an. Erstellen Sie bei Bedarf ein neues Thread-Objekt. – Kevin
Sie definieren nur einen Thread, 'a', und Sie haben bereits gestartet plus seine' join() 'Methode aufgerufen. Kann es nicht wieder anfangen! – pstatix