前言
在Cpython解释器下实现并发编程
参考源
老男孩教育林海峰(Egon)老师
https://www.cnblogs.com/linhaifeng/articles/6817679.html#_label2
背景知识
顾名思义,进程即正在执行的一个过程。
进程是对正在运行程序的一个抽象。
进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕的概念展开的。所以想要真正了解进程,必须事先了解操作系统。
注意:
即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发的能力。将一个单独的cpu变成多个虚拟的cpu(多道技术:时间多路复用和空间多路复用+硬件上支持隔离),没有进程的抽象,现代计算机将不复存在。
必备的理论基础:
操作系统的作用:
- 隐藏丑陋复杂的硬件接口,提供良好的抽象接口
- 管理、调度进程,并且将多个进程对硬件的竞争变得有序
多道技术:
-
产生背景:针对单核,实现并发
ps:现在的主机一般是多核,那么每个核都会利用多道技术
有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个
cpu中的任意一个,具体由操作系统调度算法决定。 -
空间上的复用:如内存中同时有多道程序
-
时间上的复用:复用一个cpu的时间片
强调:
遇到io切,占用cpu时间过长也切
核心:
核心在于切之前将进程的状态保存下来,这样才能保证下次切换回来时,能基于上次切走的位置继续运行。
Python并发编程之操作系统简介
- 老男孩教育林海峰(Egon)老师
- 自