繁体   English   中英

python 多处理在 jupyter 笔记本中不起作用

[英]python multiprocessing not working in jupyter notebook

我尝试运行多处理的简单示例,但它不工作

当我尝试使用线程或以常规方式运行相同的 function 时

使用多处理(不工作):


import multiprocessing 

def do_something():
    print('Sleeping 1 second...')
    time.sleep(1)
    print('Done sleeping')

p1 = multiprocessing.Process(target=do_something)
p2 = multiprocessing.Process(target=do_something)

p1.start()
p2.start()

带线程(工作):


import threading

def do_something():
    print('Sleeping 1 second...')
    time.sleep(1)
    print('Done sleeping')

t1 = threading.Thread(target=do_something)
t2 = threading.Thread(target=do_something)
t1.start()
t2.start()

为了使代码正常工作,您需要将所有要求放在一个单元格中,然后运行它。

from multiprocessing import Pool
import other/modules/...

def do_something(arg1):
    print('Sleeping 1 second...')
    time.sleep(1)
    print('Done sleeping')

if __name__ == '__main__':
   pool = Pool(os.cpu_count()) 
   pool.map(do_something, list_of_args)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM