Python进程池如何使用

2025-05-29 05:32:08

1、启动Ubuntu虚拟机,在桌面空白处右键鼠标,打开终端。

Python进程池如何使用

2、使用Ubuntu系统自带的gedit编辑器创建‘pool.py’文件,并在文件写代码如下:from multiprocess足毂忍珩ing import Poolimport osdef worker(ms): print ('子进程id:%s,做%s事' %(os.getpid(),ms))po = Pool(3)for i in range(0,10): po.apply_async(worker,(i,))

Python进程池如何使用

3、保存代码,在终端运行代码python3 pool.py会发现并没有打印出任何内容,因为主进程结束了。子进程还没执行到。

Python进程池如何使用

4、修改代码如下,主进程慢一点结束,就可以看到效果from multiprocessing import Poolimport os,timedef worker(ms): print ('子进程id:%s,做%s事' %(os.getpid(),ms))po = Pool(3)for i in range(0,10): po.apply_async(worker,(i,))time.sleep(5)

Python进程池如何使用

5、保存代码,在终端运行,就可以看到子进程在执行了,如下图所示python3 pool.py

Python进程池如何使用

6、去掉第4步代码中的time.sleep延时,使用下面代码:from multiprocessing import Poolimport os,time颊俄岿髭def worker(ms): print ('子进程id:%s,做%s事' %(os.getpid(),ms))po = Pool(3)for i in range(0,10): po.apply_async(worker,(i,))po.close()po.join()po.join()这行代码的意识是阻塞主进程的执行。

Python进程池如何使用

7、在终端运行代码,结果如下图所示,在子进程执行完成后,主进程才退出。

Python进程池如何使用
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢