多处理无法正常工作/文档不正确

时间:2018-10-22 13:05:11

标签: python-3.x multiprocessing

我试图使我的程序与多处理模块一起运行,但没有成功,因此我恢复了基础知识,并尝试了文档中的简单示例。但是,即使是最简单的示例也不起作用。这是我尝试的示例:

from multiprocessing import Process

def f(name):
    print('hello', name)

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))   
    p.start()
    print('Got here')
    p.join(5)
    print('finally')

这是文档中的一些调整。当我运行它时,它会打印“ Got here”,并在5秒钟后它会显示“ finally”。它不会打印“你好鲍勃”,并且没有5秒钟的超时,只是在“知道这里”之后进入睡眠状态。

我在Mac上使用带有Python 3.6.4的IDLE。我的实际程序比这更复杂,但是如果我不能使这个简单的程序正常工作,我将完全陷入困境。

这是另一个不起作用的简单示例:

from multiprocessing import Process

def print_process(number):
print('Printing from process ',number)

if __name__ == '__main__':
    process_list = []
    for i in range(20):
        p = Process(target= print_process, args = (i,))
        process_list.append(p)
        print(i)

    for p in process_list:
        print('Starting')
        p.start()

它将打印数字0到19,然后在进入睡眠状态之前打印两次“开始”。

0 个答案:

没有答案