我需要创建while循环,条件是从另一个线程获取响应但不等待太长时间。这就是为什么我决定使用两个条件,如
i = 0
while (not is_get_responce() and i<10000):
i+=1
time.sleep(1)
这是一个好习惯吗?
让我们避免使用XYproblem
我有两个线程和共享存储空间,我需要的是在第一个线程完成他的工作时从第二个线程等待,之后,我从第一个线程得到结果并将它放到我的第二个线程。为了共享作业的结果,我使用共享存储和函数is_get_responce()
返回布尔值,如果我们有来自第一个线程的响应。
我知道我可以使用.join()来等待第一个线程,但我没有第二个线程的链接,对我来说这不是一个好的选择。
答案 0 :(得分:4)
假设is_get_responce()
配置正确,以下内容对我来说更有意义:
start = time.time()
while time.time() - start < 10000:
if is_get_responce():
break
time.sleep(1)
话虽如此,这实际上可能是XY Problem ..
答案 1 :(得分:0)