同步异步、阻塞非阻塞、并发并行的理解

发布于 / 计算机组成原理 / Comments Off on 同步异步、阻塞非阻塞、并发并行的理解

同步与异步:

  • 同步:事情一件一件的做。执行事件A时,需要等A完成,再去做事件B。

  • 异步:事情可以一起做。执行事件A时,在等待事件A的结果的同时可以去做事件B。

  • 状态:等待事件A的结果的同时去做事件B,在做事件B时,每隔一段时间询问一次(轮询)事件A的状态如何,是否完成。

  • 通知:等待事件A的结果的同时去做事件B,并让A完成后通知一下调用者。

  • 回调:等待事件A的结果的同时去做事件B,并让A完成后执行一个函数,这个函数叫做回调函数。

阻塞与非阻塞:

  • 阻塞:调用结果返回之前,线程被挂起,处于等待状态,直到结果返回

  • 非阻塞:调用不会使进程挂起,不会阻塞当前线程

并发与并行:

  • 并发:计算机只有一个CPU,却要运行辣么多线程,不可能同时进行,所以将CPU分成若干个时间段,分给不同的线程。当CPU在忙某个线程时,其他线程被挂起

  • 并行:计算机装有多个CPU或者CPU多线程,多个线程可以同时进行,这样叫做并行

转载原创文章请注明,转载自: 斐斐のBlog » 同步异步、阻塞非阻塞、并发并行的理解
评论已关闭