python多进程编程 多个函数并发执行_python 并发编程之多进程

一、数据共享

1.进程间的通信应该尽量避免共享数据的方式

2.进程间的数据是独立的,可以借助队列或管道实现通信,二者都是基于消息传递的。

虽然进程间数据独立,但可以用过Manager实现数据共享,事实上Manager的功能远不止于此。

命令就是一个程序,按回车就会执行(这个只是在windows情况下)

tasklist 查看进程

tasklist| findstr pycharm #(findstr是进行过滤的),|就是管道(tasklist执行的内容就放到管道里面了,

管道后面的findstr pycharm就接收了)

二、进程池

在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。多进程是实现并发的手段之一,需要注意的问题是:

很明显需要并发执行的任务通常要远大于核数

一个操作系统不可能无限开启进程,通常有几个核就开几个进程

进程开启过多,效率反而会下降(开启进程是需要占用系统资源的,而且开启多余核数目的进程也无法做到并行)

例如当被操作对象数目不大时,可以直接利用multiprocessing中的Process动态成生多个进程,十几个还好,但如果是上百个,上千个。。。手动的去限制进程数量却又太过繁琐,此时可以发挥进程池的功效。

那么什么是进程池呢?进程池就是控制进程数目

ps:对于远程过程调用的高级应用程序而言,应该使用进程池,Pool可以提供指定数量的进程,供用户调用,当有新的请求提交到pool中时,如果池还没有满

你可能感兴趣的:(python多进程编程,多个函数并发执行)