Python线程关闭回调



我有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()

但我找不到这样的方法。有什么想法吗?我该怎么办?辅助函数在separet文件中,所以它不知道所有的标志。

Thaks提前

一个选项是简单地包装worker函数:

def wrapped_worker():
    worker()
    on_done()

然后,将目标设置为wrapped_worker:

t = threading.Thread(target=wrapped_worker, on_close=on_done)

请参阅此答案以获取更深入的示例。

最新更新