学Nginx之前需要知道的一些知识
同步与异步
同步与异步的重点在消息通知的方式上,也就是调用结果的通知方式不同。
同步:当一个同步调用发出去后,调用者需要一直等待调用的结果通知后,才能进行后续的执行。
异步:当一个异步调用发出去后,调用者不必一直等待调用结果的返回,异步调用,想要获得结果。
一般有两种方式:
1、主动轮询异步调用的结果;
2、被调用方通过callback(回调通知)来通知调用方调用结果。
阻塞与非阻塞
阻塞与非阻塞的重点在于进/线程等待消息时候的行为,也就是在等待消息的时候,当前进/线程是挂起状态,还是非挂起状态。
阻塞:调用在发出去后,在消息返回之前,当前进/线程会被挂起,直到有消息返回,当前进/线程才会被激活。
非阻塞:调用在发出去后,不回阻塞当前进/线程,而会立即返回。
同步与异步,重点在于消息通知的方式;阻塞与非阻塞,重点在于等消息时候的行为。
所以,就有了下面4种组合方式
- 同步阻塞:小明收到信息后,啥都不干,等快递
- 同步非阻塞:小明收到信息后,边刷微博,边等着取快递
- 异步阻塞:小明收到信息后,啥都不干,一直等着快递员通知他取快递
- 异步非阻塞:小明收到信息后,边刷着微博,边等快递员通知他取快递
