我正在尝试做这样的事情:
import threading
def func1(a,b):
def func2():
t=threading.Thread(target=func3)
return t
return func2
func2=func1(a,b)
func2()
Run Code Online (Sandbox Code Playgroud)
我有一个限制(我使用的语言是python与一些受限制的函数)不使用螺纹函数的args参数而不是我想将a和b作为参数传递给func3.我怎样才能使用闭包?
你可以使用lambda:
t=threading.Thread(target=lambda: func3(a,b))
Run Code Online (Sandbox Code Playgroud)
即使在退出之后,其价值a也b将被关闭func1.
您可以创建一个命名函数,而不是lambda:
def thread_func():
func3(a,b)
t = threading.Thread(target=thread_func)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1191 次 |
| 最近记录: |