在Python多进程中从进程创建函数返回值

0 投票
1 回答
1040 浏览
提问于 2025-04-16 09:33

我从这个链接中摘取了一段内容: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()这个函数里能不能加一个返回语句?

我想做的是……每次有客户发送请求时,我想创建一个新的进程来处理每个客户的后台工作,并把结果返回给客户。我该怎么做呢?如果能给个简单的示范就太好了。

1 个回答

0

当然可以。你只需要在while循环后面加上一个return whatever就行了。

为了得到更有用的答案,通常最好先说明一下你想要实现什么,已经尝试过哪些方法,以及这些方法为什么没有奏效。

撰写回答