04python并发编程
并发操作
一越王超
软件系统工程师
展开
-
python--并发编程 08 协程
协程的本质就是在单线程下,由用户自己控制一个任务遇到io阻塞了就切换另外一个任务去执行,以此来提升效率。为了实现它,我们需要找寻一种可以同时满足以下条件的解决方案:1. 可以控制多个任务之间的切换,切换之前将任务的状态保存下来,以便重新运行时,可以基于暂停的位置继续执行。2. 作为1的补充:可以检测io操作,在遇到io操作的情况下才发生切换...原创 2020-02-11 22:46:03 · 135 阅读 · 0 评论 -
python--并发编程 07 进程池/线程池对比
思考:进程的队列可以解决进程间通信(IPC),线程有队列吗?原创 2020-02-11 15:46:49 · 288 阅读 · 0 评论 -
python--并发编程 06 多线程
思考:什么是线程?计算机执行的最小单位是线程。线程被称为“轻量级的进程”。进程是资源分配的基本单位;线程是可执行的基本单位,是可被CPU调度的基本单位。每一个进程中至少有一个线程。进程由代码段 数据段 PCB(process control block)组成; 线程由代码段 数据段 TCD(thread control block)组成线程不可以独立拥有资源,线程的执行必须依赖于所...原创 2020-02-10 22:02:53 · 239 阅读 · 0 评论 -
python--并发编程 05多进程的进程池
思考:什么是进程池,进程池用于解决什么问题?在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务。那么在成千上万个任务需要被执行的时候,我们就需要去创建成千上万个进程么?首先,创建进程需要消耗时间,销毁进程也需要消耗时间。第二即便开启了成千上万的进程,操作系统也不能让他们同时执行,这样反而会影响程序的效率。因此我们不能无限制的根据任务开启或者结束进程。那么我们要怎么...原创 2020-02-10 17:46:48 · 245 阅读 · 0 评论 -
python--并发编程 04 多进程间的内存共享
Manaegr实现数据共享导入 :from multiprocessing import Manager实例化:m= Manager()num = m.dict( {键 : 值} )num = m.list( [1, 2, 3] )程序示例:from multiprocessing import Manager,Processdef fun(num): ...原创 2020-02-10 17:25:40 · 451 阅读 · 0 评论 -
python--并发编程 03管道处理生产消费者模型
思考:什么是管道?管道是用于多进程之间通信的一种方式。也可用于单进程通信。管道是不安全的生产消费者模型单进程管道道入:实例化:收发:一个收,另一个发。from multiprocessing import Pipepipe1, pipe2 = Pipe()pipe1.send('abc')print(pipe2.recv())pipe2.sen...原创 2020-02-10 16:44:53 · 181 阅读 · 0 评论 -
python--并发编程 02队列处理生产消费者模型
思考:数据的输入端和处理端之间又什么矛盾?生产消费者模型:主要是为了解耦生产者和消费者生产者可以不断的生产,消费者可以不断的消费,平衡了生产者的生产能力与消费者的消费能力,从而提升了程序的整体运行效率生产者:程序中负责产生数据的任务消费者:程序中负责处理数据的任务栈:先进后出(First In Last Out) 简称FILO队列:先进先出(First In First O...原创 2020-02-10 00:39:43 · 203 阅读 · 0 评论 -
python--并发编程 03协程
思考:什么是协程?原创 2020-02-09 00:53:31 · 139 阅读 · 0 评论 -
python--并发编程 01多进程
思考:什么是多进程?并行:统一时间点同时执行并发:同一时间间隔里同时执行早期单核CPU的时候没有并行的概念,只有并发的概念。多进程模块:multiprocessing Process同步和异步同步:一个执行完另一个才能执行,例如银行存取款业务必须上一个业务完成更新数据才能进行下一个业务异步:一个未执行完另一个也可以执行,例如打开浏览器的同事打开一个播放器如何...原创 2020-02-08 16:44:11 · 225 阅读 · 0 评论 -
python--并发编程 00 操作系统知识
思考:操作系统是什么?操作系统要处理哪些问题?计算机发展史一代电子管数字机(1946—1958年) 二代晶体管数字机(1958—1964年) 三代集成电路数字机(1964—1970年) 四代大规模集成电路机(1970年至今)早期计算机以计算为核心,现在计算机以存储为核心计算机操作系统操作系统是一个软件,一个能直接操纵硬件的软件。常见操作系统:...原创 2020-02-07 18:12:40 · 163 阅读 · 0 评论