在我的代码中,我需要在python程序中运行多个工作线程实例。我最初创建了几个工作线程实例(比如10),然后将它们添加到池中。每当客户端请求服务时,都应该为客户端调用并保留一个线程。完成任务后,线程应该添加回池中。
到目前为止,我已经编写了以下代码。但是我不确定如何在池中永远运行线程(它们应该在池内时休眠),在需要时调用并获取服务,并在处理后将它们添加回池(应该再次睡眠)。任何帮助,将不胜感激。
PRED = Queue(10)
class Worker(threading.Thread):
def __init__(self, threadID, name):
threading.Thread.__init__(self)
self.threadID =threadID
self.name = name
def run(self):
print("starting " + self.name + " thread")
while True:
??
print("Exiting " + self.name + " thread")
def work():
print("working")
time.sleep(3)
使用任务队列将任务发送给您的员工。让您的工作人员监听任务队列并等待它是空的。当一个worker从队列中获取一个任务时,它应该执行它,然后返回轮询队列。很标准的工人模式。
当我说任务时,我的意思是你可以在队列中放入一个实际的方法。工人可以拿起并执行它。