【发布时间】:2018-05-28 03:46:50
【问题描述】:
所以我有一些代码等待 X 发生,然后创建一个线程并执行 processEmail。
我正在寻找的是一种让代码继续等待 X 的方法,即使 processEmail 正在另一个线程中发生,但目前代码只是等待线程完成,然后再等待 X 再次发生。
if X happens:
thread = Thread(target = processEmail.main())
thread.start()
仅供参考,我没有什么需要在代码后面输出 processEmail.main() 的内容,因此我无需等待它的输出。
【问题讨论】:
-
它不会等待,除非你
join。你一定有一个thread.join()对吧?您需要向我们展示更多代码。 -
所以我在
thread.start()之后有一个thread.join(),但我删除了它,因为看起来加入让它等待。但即使没有thread.join(),它仍在等待 -
你不要在单独的线程中运行
processEmail.main(),因为你在线程开始之前调用它。 -
@GennadyKandaurov 我在同一时间发现了这一点。每个人都会偶尔被这个抓住:)
标签: python multithreading