【发布时间】:2018-05-09 02:52:26
【问题描述】:
我的代码在这里,我不明白为什么线程标识是相同的数字
import threading
from werkzeug.local import Local
import time
l = Local()
l.__storage__
def add_arg(key, value):
l.__setattr__(key, value)
# time.sleep(5)
for i in range(3):
key = 'arg' + str(i)
t = threading.Thread(target=add_arg, args=(key, i))
t.start()
print(t.ident)
print(l.__storage__)
结果是:
123145354104832
123145354104832
123145354104832
{123145354104832: {'arg0': 0, 'arg1': 1, 'arg2': 2}}
然后我启用time.sleep(5),那么结果是:
123145311535104
123145316790272
123145322045440
{123145311535104: {'arg0': 0}, 123145316790272: {'arg1': 1}, 123145322045440: {'arg2': 2}}
谁能帮我解释一下
【问题讨论】: