Имам 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()
Но аз не можах да намеря метод като този. Някакви идеи как да го управлявам по някакъв начин? Работната функция е в сепаретен файл, така че не познава флаговете.
Thaks предварително
Отговори:
1 за отговор № 1Една от опциите е просто да обгърнете работната функция:
def wrapped_worker():
worker()
on_done()
След това задайте целта на wrapped_worker
:
t = threading.Thread(target=wrapped_worker, on_close=on_done)
виждам този отговор за по-задълбочен пример.