質問
異なる時間で終了する処理をwhileループ中で同時に行い、それぞれの処理の完了次第次のループに入るプログラムを作りたく
、ThreadPoolExecutorを使用してみました。しかし、この関数ではループ内で同時に処理している全ての処理が終了してからでないと次のループに入ってくれませんでした。何か他の方法は存在しないのでしょうか?
例えば以下のコードでは、aとbの変数の時には3秒ごとに処理を繰り返してもらいたいが、cの時の処理が終了するまで99999秒待たされてしまうことになり、aとbの変数を用いている関数は、自分の処理は完了しているにもかかわらず次のループに入ることができなくなってしまいます。
該当のソースコード
Python
1from concurrent.futures import ThreadPoolExecutor 2import time 3 4a = (1,2,3) 5b = (4,5,6) 6c = (7,8,9,10) 7 8def example(d): 9 if d > 3: 10 time.sleep(99999) 11 else: 12 time.sleep(3) 13 14while True: 15 with ThreadPoolExecutor() as executor: 16 executor.submit(example,a) 17 executor.submit(example,b) 18 executor.submit(example,c)

