多道技术、同步异步和阻塞非阻塞,并行真正意义上的同时


前期需要储备的知识点

并发

看起来同时运行的就可以称之为并发,其实内部是做了0.1秒A,做了0.1秒B,交替进行运作,看起来像是一起运作的。

并行

真正意义上的同时执行

补充

1.并行肯定算是并发
2.单核的计算机肯定不能实现并行,但是可以实现并发!!
3.我们这里的单核是假设就是一个核,干活的就一个人,不考虑cpu里面的内核

1. 多道技术

1.1 什么是多道技术

简单来说,就是单核实现并发效果的技术

图解:

1.2 为什么要有多道技术

多道技术可以节省多个程序运行的总耗时(时间上复用),也可以让多个程序共用一套计算机硬件(空间上复用)

2. 同步与异步

同步与异步描述的是任务的提交方式

2.1 同步

同步指的是,任务提交之后,原地等待任务的返回结果,等待的过程中不做任何事(干等着)

2.2 异步

异步指的是,任务提交之后,不原地等待任务的返回结果,等待的过程中去做其他任何事。

问题是提交的结果如何获取?任务的返回结果会有一个异步回调机制自动处理!

3. 阻塞与非阻塞

阻塞与非阻塞描述的是程序的运行状态

阻塞:阻塞态

非阻塞:就绪和运行态

理想状态是,我们应该让我们的程序永远处于就绪和运行状态之间切换。

上述概念的组合:最高效的一种组合就是异步非阻塞!

评论关闭