标签:
1. 同步:
所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就必须先得到返回值了。
换句话话说,调用者主动等待这个"调用"的结果。
对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回而已。
2. 异步:
所谓异步,"调用"在发出之后,这个调用就直接返回了,所以没有返回结果。
换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在"调用"发出后,"被调用者"通过状态、通知来通知调用者,或通过回调函数处理这个调用。
同步 和 异步 关注的是消息通信机制 (synchronous communication/ asynchronous communication),举个通俗的例子:
3. 阻塞式:
阻塞调用是指调用结果返回之前,当前线程会被挂起(线程阻塞)。函数只有在得到结果之后才会返回。
有人也许会把阻塞调用和同步调用等同起来,实际上他是不同的。对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回而已。
4. 非阻塞式:
非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。
阻塞 和 非阻塞 关注的是程序(线程)在等待调用结果(消息,返回值)时的 状态
Java基础知识强化之多线程笔记07:同步、异步、阻塞式、非阻塞式 的联系与区别
标签:
原文地址:http://www.cnblogs.com/hebao0514/p/5701494.html