gpt4 book ai didi

Python - 如何不在构建线程步骤中启动线程

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:14 25 4
gpt4 key购买 nike

我有这个代码:

import threading

tokens = [here are list with tokens]

def geter(token):
print('FROM METHOD')

for token in tokens:
t = threading.Thread(target=geter(token), args=(token,))
print('THERE METHOD "GETER" SHOULD NOT RUN')
t.start()
print('THERE METHOD "GETER" WAS EXECUTED')

我需要仅在“t.start”之后启动方法“geter”,而不是在构建线程步骤中启动。

但就我而言,在运行“geter”方法后,我看到了 2 个打印结果。我有这个打印品:

FROM METHOD
THERE METHOD "GETER" SHOULD NOT RUN
THERE METHOD "GETER" WAS EXECUTED

如何仅在第一个和第二个 PRINT 之间运行方法“geter”(在步骤:t.start())?我需要这张照片:

THERE METHOD "GETER" SHOULD NOT RUN
FROM METHOD
THERE METHOD "GETER" WAS EXECUTED

谢谢

最佳答案

问题是您正在调用(调用)该函数,而不是将其传递给 Thread 类,因此而不是

t = threading.Thread(target=geter(token), args=(token,))

这样做:

t = threading.Thread(target=geter, args=(token,))

请注意,您不需要提供两次token,这应该会提示您出现问题。

target 参数应该是一个函数(如 geter)或 None,但由于您正在那里调用该函数,因此返回 None (因为它不返回任何内容),您不会收到任何错误。然而,您确实会遇到这种意想不到的行为

关于Python - 如何不在构建线程步骤中启动线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45347323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com