同步、异步、阻塞、非阻塞常常很容易混为一谈,下面从不同维度描述下这四者之间的关系。
1. 同步和异步
同步和异步描述的是消息通信的机制
同步:
一次调用,一次返回;整个过程就是同步调用的过程;
特点:针对每次都是一次同步的调用;
异步:
调用后,没有得到想要的返回(或者不care返回值);而是通过后面的回调、状态通知的方式获得结果;
特点:通过回调callback、状态或者通知的方式告知调用方结果;
2. 阻塞和非阻塞
描述的是程序在等待调用结果(消息、返回值)时的状态
阻塞:
调用方线程在等待结果返回过程中,线程被挂起,(调用方不能处理其它事情)等结果返回后,唤醒线程;
特点:调用方被阻塞
非阻塞:
调用方线程在等待结果的过程中,线程没有被挂起,(可以处理其它事情)
特点:调用方没有被阻塞
https://www.cnblogs.com/pinxiong/p/13288118.html
网友评论