线程差异(target = sample_function),args = [arg1])thread.thread.thread(target = sample_function(arg1))

发布于 2025-01-19 11:37:11 字数 320 浏览 1 评论 0原文

我一直在研究循环内的线程功能,这引起了我的注意。 如果我执行

threading.Thread(target=sample_function(arg1))

它,它实际上并不像预期的那样多线程,而是必须在启动第二个之前执行整个 sample_function() 。 事实证明我必须更改为这一行才能获得正确的多线程

threading.Thread(target=sample_function, args=[arg1])

有人能告诉我为什么会这样吗?

谢谢!

I've been working around a threading functionality inside a loop and this caught my attention.
If I execute

threading.Thread(target=sample_function(arg1))

It doesn't actually multithread as expected, instead it had to go through the entire sample_function() before starting the second one.
Turns out i had to change to this line instead to get proper multithreading

threading.Thread(target=sample_function, args=[arg1])

Can anyone tell me why is this so?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

演出会有结束 2025-01-26 11:37:11

target= 预计是可调用的。 sample_function 是可调用的。 sample_function(arg1) 不可调用,而是函数调用的返回值。

我假设 sample_function(arg1) 返回 None 这使得 threading.Thread(target=sample_function(arg1)) 不运行任何内容。

出于寓教于乐的目的:使示例函数返回一个字符串,看看会发生什么

The target= is expected to be a callable. sample_function is callable. sample_function(arg1) isn't callable, but the return of the function call.

I assume that sample_function(arg1) returns None which makes threading.Thread(target=sample_function(arg1)) run nothing.

For edutainment purposes: make samplefunction return a string and see what happens

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文