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 

这是你期待的是什么?