程序员

异步基础(1)—— 概念释义

2018-12-08  本文已影响14人  黄宝玲_1003

同步与异步

同步和异步关注的是消息通信机制(synchronous communication/ asynchronous communication)。

同步

发出一个调用-->得到结果-->返回。

异步

*调用*发出-->直接返回。

(调用者不会立刻得到结果。而是在*调用*发出后,*被调用者*通过状态、通知来通知调用者,或通过回调函数处理这个调用。)

阻塞与非阻塞

阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态。

阻塞

调用结果返回前-->当前线程被挂起-->得到结果-->返回。

非阻塞

非阻塞调用在不能立即得到结果前,该调用不会阻塞当前线程。

并发与并行

图1 并发(上) 并行(下)

并发和并行都可以是多线程,就看这些线程能不能被多个cpu执行。可以就是并行,并发是多个线程被一个cpu轮流切换执行。

并发(某时间段内有多个任务执行)

不同代码块交替执行的性能

并行(某时刻点有多个任务执行)

不同代码块同时执行的性能

上一篇 下一篇

猜你喜欢

热点阅读