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

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

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

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

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

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

开启进程的两种方法

一 是基于函数实现的

二 是基于类实现的

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

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

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

posted @ 2017-11-18 10:16  恩是的  阅读(236)  评论(0编辑  收藏  举报