擅长:python、mysql、java
<p>我有个主意,就是把队列和管道包装到一个类中。然后使用select模块检查套接字和管道,不会使用轮询来监视事件。在</p>
<p>以下包装队列和管道的示例代码:</p>
<pre><code>class MyQueue(object):
"""docstring for MyQueue"""
def __init__(self, arg):
super(MyQueue, self).__init__()
# self.arg = arg
self._queue = Queue.Queue()
self._rdfd, self._wrfd = os.pipe()
return
def enQ(self, item=None, block=True, timeout=None):
os.write(self._wrfd, '+')
self._queue.put(item)
return
def deQ(self, block=True, timeout=None):
_itm = self._queue.get(block=block, timeout=timeout)
_msg = os.read(self._rdfd, 1)
return _itm
def get_notify(self):
return self._rdfd
</code></pre>
<hr/>
^{pr2}$