Re: [問題] 如何調整 subprocess 執行順序?
不好意思,我把 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
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):