Короче говоря ... что происходит, когда все ссылки на threading.Thread
объекта теряются, например, в этой функции:Что происходит, когда вы теряете все ссылки на поток Python?
def myfunc():
def thread_func():
while True:
do_useful_things()
thethread = threading.Thread(target = thread_func)
thethread.run()
return
Это своего рода выглядит как поток продолжает идти, но он ведет себя странно, и я подумал если могут произойти странные вещи, потому что сборщик мусора ненадлежащим образом удалил его или что-то в этом роде.
Как и в случае, если нить продолжает активно отслеживать их (я знаю, что threading
сам имеет средства для получения активных потоков)?
Если потоковая передача может получать активные потоки, то вы не потеряли ссылку на поток python. –
Запуск потоков обычно (читайте: все языки GC: d, с которыми я знаком) рассмотрены GC-корни (т. Е. Они не мусор, и все, что они ссылаются - прямо и косвенно - тоже не мусор). –