Python中的多处理:处理多个工作线程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的多处理:处理多个工作线程相关的知识,希望对你有一定的参考价值。
在我的代码中,我需要在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)
- 假设工作线程处于PRED队列中。
- work()是我应该为客户服务的方法。
答案
使用任务队列将任务发送给您的员工。让您的工作人员监听任务队列并等待它是空的。当一个worker从队列中获取一个任务时,它应该执行它,然后返回轮询队列。很标准的工人模式。
当我说任务时,我的意思是你可以在队列中放入一个实际的方法。工人可以拿起并执行它。
以上是关于Python中的多处理:处理多个工作线程的主要内容,如果未能解决你的问题,请参考以下文章