【发布时间】:2011-01-07 07:02:30
【问题描述】:
我从http://docs.python.org/library/multiprocessing.html#multiprocessing-examples中挑选了一个sn-p
import multiprocessing
def queue_func(queue):
for i in range(30):
time.sleep(0.5 * random.random())
queue.put(i*i)
queue.put('STOP')
def test_queue():
q = multiprocessing.Queue()
p = multiprocessing.Process(target=queue_func, args=(q,))
p.start()
o = None
while o != 'STOP':
try:
o = q.get(timeout=0.3)
print o,
sys.stdout.flush()
except Empty:
print 'TIMEOUT'
test_queue()
是否可以在 test_queue() 函数中插入 return 语句?
这就是我想做的... 每次客户端发送请求时,我都想创建一个新进程来处理各个客户端的后端处理并将结果返回给客户端。我怎么做?非常感谢一个简单的演示。
【问题讨论】:
-
AFAIK,它最后已经有一个隐含的“return None”,所以你可以例如将其更改为“return o”。
-
当我尝试插入 return 语句并调用函数时,我得到的只是异常类型:TypeError 异常值:'module' object is not callable
-
好吧!!这只是一个实例化问题......很抱歉打扰你:)