Lines Matching refs:self

34     def __init__(self, maxsize=0):
35 self.maxsize = maxsize
36 self._init(maxsize)
42 self.mutex = threading.Lock()
46 self.not_empty = threading.Condition(self.mutex)
50 self.not_full = threading.Condition(self.mutex)
54 self.all_tasks_done = threading.Condition(self.mutex)
55 self.unfinished_tasks = 0
57 def task_done(self):
71 with self.all_tasks_done:
72 unfinished = self.unfinished_tasks - 1
76 self.all_tasks_done.notify_all()
77 self.unfinished_tasks = unfinished
79 def join(self):
88 with self.all_tasks_done:
89 while self.unfinished_tasks:
90 self.all_tasks_done.wait()
92 def qsize(self):
94 with self.mutex:
95 return self._qsize()
97 def empty(self):
108 with self.mutex:
109 return not self._qsize()
111 def full(self):
119 with self.mutex:
120 return 0 < self.maxsize <= self._qsize()
122 def put(self, item, block=True, timeout=None):
133 with self.not_full:
134 if self.maxsize > 0:
136 if self._qsize() >= self.maxsize:
139 while self._qsize() >= self.maxsize:
140 self.not_full.wait()
145 while self._qsize() >= self.maxsize:
149 self.not_full.wait(remaining)
150 self._put(item)
151 self.unfinished_tasks += 1
152 self.not_empty.notify()
154 def get(self, block=True, timeout=None):
165 with self.not_empty:
167 if not self._qsize():
170 while not self._qsize():
171 self.not_empty.wait()
176 while not self._qsize():
180 self.not_empty.wait(remaining)
181 item = self._get()
182 self.not_full.notify()
185 def put_nowait(self, item):
191 return self.put(item, block=False)
193 def get_nowait(self):
199 return self.get(block=False)
206 def _init(self, maxsize):
207 self.queue = deque()
209 def _qsize(self):
210 return len(self.queue)
213 def _put(self, item):
214 self.queue.append(item)
217 def _get(self):
218 return self.queue.popleft()
229 def _init(self, maxsize):
230 self.queue = []
232 def _qsize(self):
233 return len(self.queue)
235 def _put(self, item):
236 heappush(self.queue, item)
238 def _get(self):
239 return heappop(self.queue)
245 def _init(self, maxsize):
246 self.queue = []
248 def _qsize(self):
249 return len(self.queue)
251 def _put(self, item):
252 self.queue.append(item)
254 def _get(self):
255 return self.queue.pop()
268 def __init__(self):
269 self._queue = deque()
270 self._count = threading.Semaphore(0)
272 def put(self, item, block=True, timeout=None):
278 self._queue.append(item)
279 self._count.release()
281 def get(self, block=True, timeout=None):
294 if not self._count.acquire(block, timeout):
296 return self._queue.popleft()
298 def put_nowait(self, item):
304 return self.put(item, block=False)
306 def get_nowait(self):
312 return self.get(block=False)
314 def empty(self):
316 return len(self._queue) == 0
318 def qsize(self):
320 return len(self._queue)