首页 > 编程知识 正文

python中的多进程(python多进程怎么样)

时间:2023-05-04 13:43:10 阅读:80260 作者:411

关于多进程,网络上有很多多线程理论,这里不赘述。

这篇文章通过实验直接展示了Python的“多进程”的效果,即使不了解详细情况,在工作中需要使用的时候也可以直接复制代码使用。 并不是所有的网络工程师都要花时间研究代码……。

实验中的任务和使用时:

任务1:1s

任务2:2s

任务3:3s

单进程代码

单进程

上面的代码非常普通地执行三个任务。 os.getpID ()显示当前的进程id,最后的t2-t1计算时间差,让我们来看看效果。 ) )。

单过程效应

由效果可知,3个任务依次执行,进程ID均为1112,分别为1s、2s、3s,因此共计6s。 现在,让我们来看看多进程。

多进程代码

多进程

其实并不比前面的代码多几行,引入多进程“多处理”模块,设置进程池,执行任务。 观察效果() 9503.163.com) )。

多进程效应

如上图所示,使用多进程后,合计执行时间减少到了4秒,我注意这里故意挖了个洞。 为什么是多进程,任务1和任务3的进程ID相同吗? 明明3个任务同时执行的话,3s (任务3消耗的时间)就应该完成了,为什么是4秒?

由于进程池pool=multiprocessing.Pool ()没有设置参数,因此缺省值为CPU的内核数。 我的笔记本电脑只有双核。 也就是说,默认值为2。 也就是说,一次只能同时执行两个任务。 所以上面的代码:任务1和任务2同时开始执行,任务1执行后,任务3继续执行……明白吗?

现在,如果将pool的值更改为3以上,理论上可以同时执行3个以上的任务。 () 9504.163.com)。

pool=3

多进程效应

上图所示的效果是,3个任务同时执行,分别有不同的进程ID,执行时间只有3秒。

实验结束。

本篇文章主要以Python、网络通讯、linux为主,基本上都是实战说话,都是原创。 欢迎评论、收藏、订阅,大家一起学习。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。