优先队列
erhuabushuo
posted @ 2012年9月26日 19:00
in Python
, 1646 阅读
#!/usr/bin/env python3 import queue import threading class Job(): def __init__(self, priority, description): self.priority = priority self.description = description print("New job:", description) def __lt__(self, other): return self.priority < other.priority q = queue.PriorityQueue() q.put(Job(3, "Mid-level job")) q.put(Job(10, "Low-level job")) q.put(Job(1, "Important job")) def process_job(q): while True: next_job = q.get() print("Processing job:", next_job.description) q.task_done() workers = [threading.Thread(target=process_job, args=(q,)), threading.Thread(target=process_job, args=(q,)), ] for w in workers: w.setDaemon(True) w.start() q.join()