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循环呢?
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循环呢?
|
sean10Dec 4, 2020 via Android
1
加个 ta.join()吧,应该是你主进程结束把还没打印的子进程干掉了
|
|
sean10Dec 4, 2020 via Android
2
子线程
|
|
3
写法 1:
ta = threading.Thread(target=f, args=(dict1,)) 写法 2: ta = threading.Thread(target=f, kwargs={'dicts': dict1}) 了解下 args / kwargs / 解包等概念。 |
|
4
@Sylv 可以了,非常感谢啊😁
|
|
sean10Dec 4, 2020 via Android
5
翻了下,我刚才说的错了,无关项
|
|
6
@sean10 已经用 3L 的方法解决了啊😁
|