1
下面的代碼是非常簡單的,只用於測試目的,但我沒有得到所期望的輸出:鎖定在多包不工作
from multiprocessing import Process,Lock
def printing(l,i):
l.acquire()
print i
l.release()
if __name__ == '__main__':
lock = Lock()
for i in range(10):
Process(target=printing,args=(lock,i)).start()
輸出是:
0
1
2
3
5
6
4
7
8
9
鎖應該暫停執行其他進程。爲什麼不在這裏發生?
我現在明白了鎖的功能。謝謝你。 那麼我們如何控制進程的順序呢? – Arko
您應該爲此打開一個新問題。多處理的**點**是並行執行進程,而不是一次執行一個進程。如果你想一次只做一個,那就開始一個過程,等待它完成,然後開始另一個過程 - 等等。 –