Python 线程关闭回调
Python threading on close callback
我有 Thread,我想在它完成时更改一些标志。例如:
import threading
def on_done():
# do some printing or change some flags
def worker():
# do some calculations
t = threading.Thread(target=worker, on_close=on_done)
t.start()
但我找不到那样的方法。任何想法我怎么能以某种方式管理它? worker 函数在单独的文件中,因此它不知道标志。
提前致谢
一种选择是简单地包装辅助函数:
def wrapped_worker():
worker()
on_done()
然后,将目标设置为wrapped_worker
:
t = threading.Thread(target=wrapped_worker, on_close=on_done)
有关更深入的示例,请参阅 this answer。
我有 Thread,我想在它完成时更改一些标志。例如:
import threading
def on_done():
# do some printing or change some flags
def worker():
# do some calculations
t = threading.Thread(target=worker, on_close=on_done)
t.start()
但我找不到那样的方法。任何想法我怎么能以某种方式管理它? worker 函数在单独的文件中,因此它不知道标志。
提前致谢
一种选择是简单地包装辅助函数:
def wrapped_worker():
worker()
on_done()
然后,将目标设置为wrapped_worker
:
t = threading.Thread(target=wrapped_worker, on_close=on_done)
有关更深入的示例,请参阅 this answer。