异步&同步
- 异步or 同步 关注的是 客户端调用服务器接口后,是否有相应的
调用的结果
- 同步和异步关注的是消息通信机制
- 所谓同步,就是在发出一个调用时,
没得到结果之前,该*调用*就不返回
。调用者主动等待这个调用的结果 - 所谓异步,就是在发出一个调用时,这个调用就直接返回了,不管返回有没有结果。当一个异步过程调用发出后,被调用者通过状态(回调函数)来通知调用者
阻塞&非阻塞
- 阻塞or 非阻塞关注的是:程序等待调用的过程,在无法得到返回值的情况下,客户端是否会阻塞当前线程而发生等待.
- 阻塞和非阻塞关注的是程序在等待调用结果时的状态
- 阻塞调用是指调用结果返回之前,当前线程会被挂起
- 非阻塞调用是指在不能立即得到结果之前,该调用不会阻塞当前线程
图解
事件驱动+同步IO的多路复用模式
■轮询: select, poll
■事件驱动: epoll有效轮询
the Shoulders of Giant
计算机领域中的同步(Synchronous)和异步(Asynchronous)
怎样理解阻塞非阻塞与同步异步的区别?
深入理解并发 / 并行,阻塞 / 非阻塞,同步 / 异步