Dyl*_*lan 27 python syntax multithreading syntax-error python-multithreading
假设我有一个看起来像这样的函数:
def _thread_function(arg1, arg2=None, arg3=None):
#Random code
Run Code Online (Sandbox Code Playgroud)
现在我想使用该函数创建一个线程,并给它arg2而不是arg3.我正在尝试如下:
#Note: in this code block I have already set a variable called arg1 and a variable called arg2
threading.Thread(target=self._thread_function, args=(arg1, arg2=arg2), name="thread_function").start()
Run Code Online (Sandbox Code Playgroud)
上面的代码给了我一个语法错误.我如何修复它以便我可以将参数作为arg2传递给线程?
unu*_*tbu 51
使用kwargs参数:
threading.Thread(target=self._thread_function, args=(arg1,),
kwargs={'arg2':arg2}, name='thread_function').start()
Run Code Online (Sandbox Code Playgroud)
您还可以使用 lambda 来传递参数
threading.Thread(target=lambda: test(arg1, arg2=arg2, arg3=arg3)).start()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
35281 次 |
最近记录: |