Python 线程参数问题



我已经尝试了大约半个小时,似乎无法理解我在这里做错了什么。 工作规范:

import threading
from time import sleep

def printX():
threading.Timer(5.0, printX).start()
print("five")

printX()
while True:
print("1")
sleep(1)

这有效,但是我需要能够动态分配打印语句以及延迟的内容。 所需代码:

import threading
from time import sleep

def printX(time, message):
threading.Timer(int(time), printX).start()
print(str(message)

printX(time, message)
while True:
print("Rest of the program continues")
sleep(1)

提前:)感谢您的任何帮助。

threading.Timer可以传递带有args的参数:

threading.Timer(int(time), printX, (time, message)).start()

阅读更多关于其文档的信息。

另一种方法是定义一个使用 printX 作为内部函数的类。

class thread:
def __init__(self, time, message):
self.time = time
self.message = message
def printX(self):
threading.Timer(int(self.time), self.printX).start()
print(str(self.message))
thread(3,"test message").printX()
while True:
print("Rest of the program continues")
sleep(1)

最新更新