首先同步异步与阻塞非阻塞两者的描述对象就不同,前者描述的是调用者,后者描述的是被调用者。比如说现在有老板,员工及商店这三个角色
- 同步:老板让员工(调用)去商店买点东西。员工去了后,老板啥也不干就在那干等这是同步
- 异步:老板让员工(调用)去商店买点东西。员工去了后,老板继续处理其他的事情,此时老板可以通过下面三种方式了解进度
- 老板询问员工(轮询)
- 员工将当前状态通知老板
- 员工直接按照老板的指示处理货物
- 阻塞:员工到了商店后,商店说暂时没有员工要的东西,需要去仓库里取。这时候如员工在商店候着不返回公司。
- 非阻塞:员工到了商店后,商店说暂时没有员工要的东需要去仓库里取,这时候员工先返回公司。