#!/usr/bin/env python import bisect from Queue import Queue, Empty #thread-safe Queue class PriorityQueue(Queue): def _init(self, maxsize): self.maxsize = maxsize; self.queue = []; def _get(self): return self.queue.pop(0); def _put(self, item): if item is None: raise Exception('PriorityQueue does not take None') bisect.insort(self.queue, item)