Aldwin Pollefeyt <[email protected]> added the comment:
The second import actually doesn't happen. You need to reload it. This can be
tested by putting print('loading threading') in threading.py.
Your first method-thread will still think it's main thread. So no idea if this
is a bug or wrong use. 'import threading' should be one of the first lines in
your main code/thread?
import _thread
import time
import importlib
barrier = 0
def method():
import threading # Will make threading the wrong thread.
global barrier
print(threading.main_thread())
print(threading.current_thread())
barrier = 1
_thread.start_new_thread(method, ())
while barrier != 1:
time.sleep(.1)
import threading
importlib.reload(threading)
print(threading.main_thread())
print(threading.current_thread())
----------
nosy: +aldwinaldwin
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue37416>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com