import threading
def f(dicts):
for key in dicts:
print (key,dicts[key])
dict1 = {'a':'b','c':'d'}
ta = threading.Thread(target=f,kwargs=dict1)
ta.start()
为什么这里的f
函数内无法使用for
循环呢?
1
sean10 2020-12-04 12:34:27 +08:00 via Android
加个 ta.join()吧,应该是你主进程结束把还没打印的子进程干掉了
|
2
sean10 2020-12-04 12:34:36 +08:00 via Android
子线程
|
3
Sylv 2020-12-04 12:36:40 +08:00 1
写法 1:
ta = threading.Thread(target=f, args=(dict1,)) 写法 2: ta = threading.Thread(target=f, kwargs={'dicts': dict1}) 了解下 args / kwargs / 解包等概念。 |
4
commoccoom OP @Sylv 可以了,非常感谢啊😁
|
5
sean10 2020-12-04 14:18:05 +08:00 via Android
翻了下,我刚才说的错了,无关项
|
6
commoccoom OP @sean10 已经用 3L 的方法解决了啊😁
|