服务器运维方向数据结构与算法

高并发原理研究和探索

2018-11-03  本文已影响0人  阿休

详细了解同步与异步,阻塞与非阻塞。

1、同步与异步

同步与异步的重点在消息通知的方式上,也就是调用结果通知的方式。

同步:当一个同步调用发出去后,调用者要一直等待调用结果的通知后,才能进行后续的执行

异步:当一个异步调用发出去后,调用者不能立即得到调用结果的返回。

异步调用,要想获得结果,一般有两种方式:

1)主动轮询异步调用的结果;

2)被调用方通过callback来通知调用方调用结果。

2、阻塞与非阻塞

阻塞与非阻塞的重点在于进/线程等待消息时候的行为,也就是在等待消息的时候,当前进/线程是挂起状态,还是非挂起状态。

阻塞:阻塞调用在发出去后,在消息返回之前,当前进/线程会被挂起,直到有消息返回,当前进/线程才会被激活.

非阻塞:非阻塞调用在发出去后,不会阻塞当前进/线程,而会立即返回。

3、总结

通过上面的分析,我们可以得知:同步与异步,重点在于消息通知的方式;阻塞与非阻塞,重点在于等消息时候的行为。

https://segmentfault.com/a/1190000007614502#articleHeader4

上一篇 下一篇

猜你喜欢

热点阅读