我该如何在python中使用线程模块?它似乎对我不起作用,并且从我在互联网上看到的内容来看,它应该起作用。我认为我正确使用了它,但似乎没有任何反应。为了明确起见,我想在后台(永远)运行一个函数,但是它总是在线程启动前卡在循环中。
这是我的代码,或者至少是我写的代码的一个版本,可以在不放弃秘密的情况下对其进行复制。
import threading
class class1:
def method(self):
while True:
# do stuff here
# gets stuck in this loop
def threadfunc(self):
thread = threading.Thread(target=self.method(),args=())
thread.start()
r = class1() # These (<) three lines of code don't work
thread = threading.Thread(target=r.method(),args=()) # <
thread.start() # <
print("Hello") # never gets run
c = class1() # These (<) two don't work either, even if I get rid of the three above
c.threadfunc() # <
print("Hello") # never gets run
答案 0 :(得分:0)
您需要传递可调用而不是结果作为目标:target=self.method
而不是self.method()
。