在多处理中从python中的进程创建器函数返回值

时间:2011-01-07 07:02:31

标签: python multiprocessing

我从http://docs.python.org/library/multiprocessing.html#multiprocessing-examples

中选择了一个片段
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语句?

这就是我想要做的...... 每次客户端发送请求时,我都想创建一个新进程来处理各个客户端的后端处理并将结果返回给客户端。我怎么做?非常感谢一个简单的演示。

1 个答案:

答案 0 :(得分:0)

是的,当然可以。您只需在while循环后添加return whatever

为了获得更有用的答案,通常一个好主意是解释你想要实现的目标,你试图实现的目标以及它不起作用的方式。