python的学习之旅---进程和进程池

Posted 恩是的

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的学习之旅---进程和进程池相关的知识,希望对你有一定的参考价值。

提前说了:开启子进程和线程的时候 都会从父进程或者父线程拷贝原始数据到自己的进程或线程中.

作业9就遇见了问题,  设置了 一个空列表list_1运行函数对list_1列表进行了更新. 再开启子进程的时候发现取到的list_1,依旧是空的.就是因为子进程再开始的开启的时候,是复制的父进程的空数据.

解决方法 1 在子进程中运行 list_1更新函数

               2 用传参的形式给子进程把更新的列表传进去

为了能让任务并发我们需要开启进程

开启进程的两种方法

一 是基于函数实现的

二 是基于类实现的

我们开启进程的数量也不是无穷的 所以需要引入进程池的概念

1 #程序的执行方式:
2 #一:串行执行   糖葫芦 一个一个来
3 #二:并行执行  一起走大横排
4 
5 
6 #同步调用:提交一个任务后,在原地等着,等到该任务运行完毕,拿到结果以后,再执行下一行代码
7 #异步调用:提交一个任务后,不用在原地等着,直接执行下一行代码,结果呢?

shutdown代表不允许再往进程池里提交任务,wait=True就是join的意思:等待任务都执行完毕

以上是关于python的学习之旅---进程和进程池的主要内容,如果未能解决你的问题,请参考以下文章

Python入门学习-DAY37-进程池与线程池协程gevent模块

菜鸟之旅——学习线程(线程和线程池)

python学习四十天(进程池)

python基础学习日志day10-进程池

python学习之旅-06 之小数据池,编码

进阶之路 | 奇妙的IPC之旅