下面是一个使用Python实现的示例代码,其中定义了一个Worker类,每个Worker实例负责一个队列。
class Worker:
def __init__(self, queue):
self.queue = queue
def process_queue(self):
while not self.queue.is_empty():
task = self.queue.pop()
# 处理任务
print(f"Worker {self} is processing task: {task}")
# 队列类
class Queue:
def __init__(self):
self.tasks = []
def push(self, task):
self.tasks.append(task)
def pop(self):
return self.tasks.pop(0)
def is_empty(self):
return len(self.tasks) == 0
# 创建队列实例
queue1 = Queue()
queue2 = Queue()
# 往队列中添加任务
queue1.push("Task 1")
queue1.push("Task 2")
queue2.push("Task 3")
queue2.push("Task 4")
# 创建工人实例并分配队列
worker1 = Worker(queue1)
worker2 = Worker(queue2)
# 启动工人处理队列任务
worker1.process_queue()
worker2.process_queue()
运行以上代码,将会输出:
Worker <__main__.Worker object at 0x7f7e3d3c9460> is processing task: Task 1
Worker <__main__.Worker object at 0x7f7e3d3c94c0> is processing task: Task 2
Worker <__main__.Worker object at 0x7f7e3d3c9460> is processing task: Task 3
Worker <__main__.Worker object at 0x7f7e3d3c94c0> is processing task: Task 4
这个示例中,我们定义了一个Worker类和一个Queue类。每个Worker对象被分配到一个特定的队列,然后通过调用Worker的process_queue方法来处理队列中的任务。在示例中,我们创建了两个队列和两个工人,分别将两个队列分配给两个工人。然后,通过调用工人的process_queue方法来处理队列中的任务。
上一篇:不同的功能?