使用“args”与不使用“args”在 Python 中向线程传递参数
- 2025-04-15 09:20:00
- admin 原创
- 33
问题描述:
我可以传递"Test"
如下所示的args
内容:test()
import threading
def test(arg):
print(arg) # "Test"
# Here
thread = threading.Thread(target=test, args=("Test",))
thread.start()
thread.join()
而且,我也可以"Test"
不使用args
to来传递test()
,如下所示:
import threading
def test(arg):
print(arg) # "Test"
# Here
thread = threading.Thread(target=test("Test"))
thread.start()
thread.join()
args
那么,在 Python 中,使用 传递参数和直接将参数传递给线程有什么区别?
解决方案 1:
这不会调用新test
线程:
thread = threading.Thread(target=test("Test"))
thread.start()
Python 解释这些代码行的方式如下:
主线程调用
test("Test")
。test("Test")
返回None
。主线程调用
Thread(target=None)
.*主线程启动新线程。
新线程根本不做任何事,因为它的目标是
None
。
编辑:
*我想知道为什么Thread(targe=None)
没有引发异常,但@Ahmed AEK 在下面的评论中解释了这一点。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD