from threading import *
def myfunc(i,name):
print("This is " + str(name))
for i in range(4):
name = current_thread().name
t = Thread(target=myfunc, args=(i,name,))
t.start()
current_thread().getName()
也给出了相同的结果。我想知道这是它的工作方式还是运行相同的线程,所以它传递了名称MainThread
?
输出:
这是MainThread
这是MainThread
这是MainThread
这是MainThread
答案 0 :(得分:4)
current_thread()
始终返回调用current_thread()
的线程。您反复检索正在执行循环的线程的名称,而不是线程启动的任何线程的名称。
如果你想获得在循环中启动的线程的名称,你可以他们调用current_thread()
:
import threading
def target():
print("This is", threading.current_thread().name)
for i in range(4):
Thread(target=target).start()