【发布时间】:2013-06-17 04:17:02
【问题描述】:
如标题所述
示例代码:
import gevent
from gevent.queue import Queue
class Worker(gevent.Greenlet):
def __init__(self, sock):
self.queue = Queue()
self.sock = sock
super(Worker, self).__init__()
def _run(self):
self.running = True
while self.running:
msg_from_queue = self.queue.get() # block call
msg_from_sock = self.sock.recv(128) # block call
worker = Worker(sock)
worker.start()
我想让工人处理两个事件:
- 来自袜子的消息接收
- 从队列中获取消息
但是这两个都是块调用
我应该怎么做,让worker同时从sock和queue中获取?
【问题讨论】: