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")
我怎样才能改善这种使用线程?