def __init__(self): self._condition = Condition() self._state = PENDING self._result = None self._exception = None self._callbacks = [] self._waiters = []
def __init__(self, maxsize=0): self.maxsize = maxsize self._init(maxsize) # mutex must be held whenever the queue is mutating. All methods # that acquire mutex must release it before returning. mutex # is shared between the three conditions, so acquiring and # releasing the conditions also acquires and releases mutex. self.mutex = Lock() # Notify not_empty whenever an item is added to the queue; a # task waiting to get is notified then. self.not_empty = Condition(self.mutex) # Notify not_full whenever an item is removed from the queue; # a task waiting to put is notified then. self.not_full = Condition(self.mutex) # Notify all_tasks_done whenever the number of unfinished tasks # drops to zero; task waiting to join() is notified to resume self.all_tasks_done = Condition(self.mutex) self.unfinished_tasks = 0
def __init__(self): self._lock = Lock() self._cond = Condition(Lock()) self._locked = False self._used = False self._exc = self._value = Null
def __init__(self): self._cond = Condition(Lock()) self._flag = False