我做了一个简单的python程序,下面是源代码。在# -*- coding: utf-8 -*-
import sys
from multiprocessing import Process, Queue
def worker(q):
test = q.get()
print str(test) + ' success!'
if __name__ == "__main__":
test = ['a','e','f','d',1,2]
print test
q = Queue()
q.put(test)
p0 = Process(target=worker, args=(q,))
p0.start()
p0.join()
print 'python exit!!'
这是成功的输出。在
^{pr2}$
但当我运行如下所示的程序时,它只运行两个进程。在# -*- coding: utf-8 -*-
import sys
from multiprocessing import Process, Queue
def worker(q):
test = q.get()
print str(test) + ' success!'
if __name__ == "__main__":
test = ['a','e','f','d',1,2]
print test
q = Queue()
q.put(test)
p0 = Process(target=worker, args=(q,))
p1 = Process(target=worker, args=(q,))
p0.start()
p1.start()
p0.join()
p1.join()
print 'python exit!!'
它的输出是这个。在['a', 'e', 'f', 'd', 1, 2]
['a', 'e', 'f', 'd', 1, 2] success!
程序没有结束!有什么问题吗。排队有什么问题吗?当我用p0 = Process(target=worker, args=(test,))
不是q,没有问题。在