gpt4 book ai didi

python - 如何将 self 和 2 个参数传递给线程

转载 作者:行者123 更新时间:2023-12-01 08:28:39 27 4
gpt4 key购买 nike

我只是尝试将 self 和其他 2 个参数传递给线程,但每次都会收到错误。

我尝试遵循其他示例,但到目前为止没有任何效果。

class X:
def start(self):
newStartupThread = threading.Thread(target=self.launch, args=(t1_stop,
self.launchAdditionalParams))
newStartupThread.name = "ClientLaunchThread%d" %
(self.launchAttemptCount+1)
newStartupThread.daemon = True
newStartupThread.start()


def launch(self, test, additionalParams):
pass

我收到此错误:

TypeError: launch() takes at most 2 arguments (3 given)

**编辑代码以显示它在一个类中

最佳答案

根据 self 的存在,我认为这是在一个类中。

import threading


class X:
def start(self):
t1_stop = 8
self.launchAdditionalParams = {}

newStartupThread = threading.Thread(
target=self.launch,
args=(t1_stop, self.launchAdditionalParams),
)
newStartupThread.name = "ClientLaunchThread"
newStartupThread.daemon = True
newStartupThread.start()

def launch(self, test, additionalParams):
print(locals())


x = X()
x.start()

对我来说工作正常,输出

{'additionalParams': {}, 'test': 8, 'self': <__main__.X object at 0x000001442938F438>}

关于python - 如何将 self 和 2 个参数传递给线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54046440/

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