第94p,并发编程的基础概念
【第94p,并发编程的基础概念】原标题:第94p , 并发编程的基础概念
大家好 , 我是杨数Tos , 这是《从零基础到大神》系列课程的第94篇文章 , 第三阶段的课程:Python进阶知识:网络编程之并发编程的基础概念 。 
文章图片
要想真正理解并发非阻塞的原理 , 就得把一些基础概念理解清楚;包括:并发、并行、单道与串行、多道与并行、阻塞与非阻塞、多道技术这些概念 。
也许你看到这么多专业名词会感觉到懵 , 实际上整合起来就是两种概念 , 只是这两种概念中有些不同的内容;(唉!没办法 , 人类天生就喜欢用一些高深的词汇来展示自己的能力)
文章图片
1、单道技术与串行
单道技术与串行:单道与串行的结合 , 就是同时只能运行一个程序 , 想切换或运行新的程序 , 必须等到当前程序停止 , 然后才能运行新的程序;
举例:打开程序A、B、C分别需要1、2、3秒 , 则将3个程序打开则需要1+2+3=6秒 。 
文章图片
2、并发与多道技术
并发:看起来是同时运行多个进程 , 实际是利用CPU的效率 , 不断切换不同进程 , 让人感觉多个进程在同时运行 , 这就是并发;
多道技术:以前的计算机的CPU一般都只有一个核 , 并不像现在这样有双核、4核;单核CPU则表示同时只能运行一个程序 , 为了让单核实现同时运行多个程序的效果就是多道技术 。 (详细可以看上一篇文章)
文章图片
3、并行与多道技术的结合
并行:真正意义上的同时执行多个进程 。
多道技术的核心是切换进程+保存进程状态;而并行是可以真正意义上允许执行多个进程;
如果多个任务同时执行 , 执行时间取决于 , 最长时间的任务 。
举例:打开程序A、B、C分别需要1、2、3秒 , 则将3个程序打开则需要3秒 。 
文章图片
4、阻塞与非阻塞
阻塞与非阻塞描述的时程序当前的状态 , 阻塞就表示程序正在阻塞态 , 非阻塞就表示正在就绪态或运行态;
文章图片
5、同步与异步
同步就是任务提交之后 , 原地等待任务的返回结果 , 等待过程中不做任何事;(就是单道)
异步就是任务提交之后 , 不等任务的返回结果 , CPU去做其他事情;等任务执行完成之后 , 再返回任务的执行结果;异步在程序的表现给人感觉就是“同时在运行多个程序” 。 
文章图片
总结:
前面讲了那么多概念 , 其实一直都是在讲两种概念;
一种是同步与阻塞 , 如果有多个程序在运行 , 就得排队 , 一个一个来 , 因为只有一个门进出;
一种是异步非阻塞 , 如果有多个程序在运行 , 不需要排队等待 , 因为有N个门可供进出 , 如果有谁堵在门口不动了(等用户下命令) , 计算机会将这个程序先移开 , 继续执行下一个程序;用户下了新命令了 , 再继续执行刚刚移开的程序 。
所以程序运行中 , 最理想最高效的方式就是异步非阻塞(asyncio) 。 
文章图片
以上是本期内容 , 如果有表达不对的内容 , 欢迎您的留言、斧正 , 我们一起天天向上 。
感谢您的阅读 , 您的三连【关注、点赞、收藏】就是对我最大的支持 , 谢谢!
本文由杨数Tos原创 , 欢迎关注 , 带你一起长知识 。
- 爷青回!魔兽第五种族Moon官宣中国开播,中国只有sky能与之比肩
- 重磅消息在全球传开,联合国公布最新报告:中国第一,美国第二!
- 年过40岁很美很自信的女星,殷桃第八,章子怡第二,第一是谁?
- 《骊歌行》定档!换了第七个剧名,李一桐、许凯终于要来了?
- RNG拿下EDG,上单差距太明显,德云色:小虎现在是LPL第一上单!
- 嫦娥设计大赛投票开启,第二名科技化十足,却被第一甩了三条街
- “入营第一课”,参战老兵来主讲
- 第一未免底气硬,OPPO成功拿今年1月榜首,第2真大佬
- 赘婿:宁毅苏檀儿第二次结婚,宁毅以现代的方式求婚
- 贾玲再破中国票房新纪录:50亿国内排行第三,吴京可以松口气了
