0
メインスレッドは、内部スレッドをPythonで起動した後に待機させる方法を教えてください。メインスレッドを開始した後、内部スレッドを待機させる方法は?
私はこのためにjoin
を使用しますが、正しく動作しません。内部スレッドがtime.sleep()
を呼び出すため発生したと思います。 アイデア?ここで
は、コードのブロックボックスです:
def execution(start,end):
for i in range (start,end):
main()
return
def waitForThread(delay,my_threads):
time.sleep (delay)
for t in my_threads:
t.join()
if t in my_threads:
my_threads.remove (t)
return
def task(user,sleep): # it has multiple time.sleep()
#do some actions
time.sleep()
#do some actions
time.sleep()
return
def main():
threads=[]
for user in accounts:
t = Thread (target=task,args=(sleep-time,user))
t.start()
threads.append (t)
waitForThread (130,threads)
## I want the code stop here and when the execution of threads finished continue
## doing other staff here
return
if __name__ == '__main__':
execution(1,30)
私は真にこれらの行を削除するだけで、OPの答えの中でunrunnableコードだけに基づいてコードを動作させることに疑念があります。 – martineau
@martineau [OK]を、私はOPで尋ねられた特定の問題に対処するために私の答えを変更しました。 – JohanL