0

我不明白如何獲得multiprocessing.Process開始。我用下面的示例代碼:multiprocessing.Process不啓動並行運行的功能通過啓動()

import random, time 
import multiprocessing 

def frz(no, tm): 
    a = 'start ' + str(no) 
    print(a) 
    time.sleep(tm) 
    a = str(no) + '=====> '+ str(tm) +'\n' 
    print(a) 

if __name__ == '__main__': 
    freeze1 = random.randint(1, 5) 
    freeze2 = random.randint(1, 5) 
    freeze3 = random.randint(1, 5) 
    freeze4 = random.randint(1, 5) 
    freeze5 = random.randint(1, 5) 

    trd1 = multiprocessing.Process(target=frz, args=(1, freeze1)) 
    trd2 = multiprocessing.Process(target=frz, args=(2, freeze2)) 
    trd3 = multiprocessing.Process(target=frz, args=(3, freeze3)) 
    trd4 = multiprocessing.Process(target=frz, args=(4, freeze4)) 
    trd5 = multiprocessing.Process(target=frz, args=(5, freeze5)) 

    #threading 
    trd1.start() 
    trd2.start() 
    trd3.start() 
    trd4.start() 
    trd5.start() 

multiprocessing.Process正在threading.Thread替換功能工作正常,但多處理好像沒有什麼改變。

+0

我有同樣的問題,我已經在這個網站上發佈了類似的問題[here](http://stackoverflow.com/questions/15705678/why-process-doesnt-join-and-doesnt-run)。 –

回答

0

當我跑到你的代碼,這是我所看到的:

 
start 5 
start 4 
start 3 
start 2 
start 1 
2=====> 1 

5=====> 3 
3=====> 3 


4=====> 4 

1=====> 5 

這是你期待的是什麼?