def __init__(self, maxsize, hub=None): if hub is None: hub = get_hub() self.hub = hub self.pid = os.getpid() self.manager = None self.task_queue = Queue() self.fork_watcher = None self._worker_greenlets = set() self._maxsize = 0 # Note that by starting with 1, we actually allow # maxsize + 1 tasks in the queue. self._available_worker_threads_greenlet_sem = Semaphore(1, hub) self._set_maxsize(maxsize) self.fork_watcher = hub.loop.fork(ref=False)
def _init(self, maxsize): self._size = 0 self._semaphore = Semaphore(1) self._lock = Lock() self.task_queue = Queue() self._set_maxsize(maxsize)