0
我有一个脚本,它作为一个线程运行一个函数。该函数与主函数中的字典的内容一起工作,但不需要改变它。传递字典对象作为线程,而不是它的值
例如
from threading import Thread
def a_func(self, dic):
print(str(dic))
some_dic={
1:"A",
2:"B"
}
print(str(some_dic))
t = Thread(target=a_func, args=(some_dic))
t.start()
输出的结果是:
{1: 'A', 2: 'B'}
2
我读过,传递给线程函数的第一个参数是本身 - 我误解是什么?
即使没有self
的问题,该函数也不打印实际字典对象,而是打印此例中的关键字。
如何传递Dictionary对象的线程功能,导致输出:
{1: 'A', 2: 'B'}
{1: 'A', 2: 'B'}
你试图传递* tuple *的参数吗?尝试'...,args =(some_dic,))' – jonrsharpe
,导致完全相同的输出。 – SaAtomic
对不起,我错过了一个括号。我已澄清,尝试一下;注意使它成为元组的尾随逗号。 – jonrsharpe