0
我想同時運行兩個函數,直到它們都返回True,直到60秒超時。如何使用線程測量時間運行多個功能?
這是我有:
import time
start_time = time.time()
timeout = time.time() + 60
a_result = b_result = False
a_end_time = b_end_time = None
a_duration = b_duration = None
while time.time() < timeout :
if not a_result:
a_result = func_a()
if a_result:
a_end_time = time.time()
if not b_result:
b_result = func_b()
if b_result:
b_end_time = time.time()
if a_result and b_result:
break
if a_end_time:
a_duration = a_end_time - start_time
if b_end_time:
b_duration = b_end_time - start_time
print a_duration,b_duration
if not (a_result and b_result):
raise Exception("exceeded timeout")
我怎樣才能改善這種使用線程?