Python多处理不能同时工作,而是单独工作

时间:2015-04-07 02:05:20

标签: python multithreading scripting

我在python中与multiprocessing模块有点混淆。到目前为止,在我的代码中,我想为generate_pings()函数创建一个单独的进程,因此该进程独立于main函数中的主进程运行。

但是当我打印出来时,所有的generate_pings()输出首先出现,然后计数到999.如何让它们同时运行?我尝试过使用线程模块,但它让我感到困惑。

同样,我何时才使用.join()?

由于

import multiprocessing
#generate pings so packets are moving, have this running in a separate thread
def generate_pings():
    count = 0
    while count < 1:


        ping_respose = subprocess.call(["ping -c 50 -i 0.1 weissmanscore.com"], shell=True)    

        count+=1
    return


def main():
    print "welcome"
    try:
        p = multiprocessing.Process(target=generate_pings)
        p.start()
    except:
        print "Error: unable to start thread"
    p.join()
    i = 0
    while i < 1000:
        print i
        i+=1




if __name__ == '__main__':
    main()

0 个答案:

没有答案