作者ya790206 (残云夺月)
看板Python
标题Re: [问题] 如何调整 subprocess 执行顺序?
时间Wed Jan 16 20:22:31 2013
不好意思,我把 subprocess 看成 multiprocessing
所以没有提到multiprocessing
下面这个范例应该可以达到他的需求
把lock之後的程式码改成subprocess.Popen即可
from multiprocessing import Process, Queue, Lock
import time
import random
def my_process(data, in_queue, out_queue, lock):
if in_queue is not None:
in_queue.get()
if out_queue is not None:
out_queue.put(0)
lock.acquire()
print data, 'start'
lock.release()
time.sleep(random.randint(1,4))
lock.acquire()
print data, 'end'
lock.release()
if __name__ == '__main__':
lock = Lock()
q1 = Queue()
q2 = Queue()
p1 = Process(target=my_process, args=('p1', None, q1, lock))
p2 = Process(target=my_process, args=('p2', q1, q2, lock))
p3 = Process(target=my_process, args=('p3', q2, None, lock))
p1.start()
p2.start()
p3.start()
p1.join()
p2.join()
p3.join()
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.165.84.23