我想了解将参数传递给线程的方式与是否对线程安全有影响的区别。
我正在使用python 3.7.3,两个代码实例对我来说都运行正常。
示例1:
thread = threading.Thread(target=MultiHandler().handle, args=(argument))
示例2:
thread = threading.Thread(target=MultiHandler().handle(argument))
答案 0 :(得分:0)
close_old_connections
应该是要被调用的可调用对象,而不是函数调用的结果,
除非您的第二个示例函数返回另一个可调用对象(target
返回---> {{ 1}})。
答案 1 :(得分:0)
Python允许在线程中使用args和kwargs作为参数。这可用于在函数内部进行决策。 这是可调用函数,其中线程安全性不应用于参数。