擅长:python、mysql、java
<p>您可以使用<code>Queue.join()</code>和<code>Queue.task_done()</code>来阻止,直到<code>get()</code>完成:</p>
<pre><code>class SynchronousQueue(object):
def __init__(self):
self.q = Queue(1)
self.put_lock = RLock()
def get(self):
value = self.q.get(block=True)
self.q.task_done()
return value
def put(self, item):
with self.put_lock:
self.q.put(item, block=True)
self.q.join()
</code></pre>