0.前言
送外卖,如果骑手正在送包裹给其中一位买家,但是这位买家未在指定时间到达约定地点取单,骑手只能原地等待,这时骑手就没法去送下一单,这个骑手就被阻塞了。过一会儿,买家到达指定地点,骑手将包裹交给买家,买家确认收货后骑手才能去送下一个包裹,这个过程买家和骑手之间是同步的。如果买家和这位骑手很熟,买家告诉骑手,让骑手将包裹放在指定地点后可先行离去,这个操作对于骑手而言是非阻塞的。买家在拿到包裹后,并给骑手发消息告知包裹已收到,这个过程买家和骑手之间是异步的。
1.同步和异步
强调多个对象(过程)的交互方式。比如:线程/进程之间的交互、方法的调用以及请求调用等。
2.阻塞和非阻塞
强调单个对象(过程)的状态。比如:线程或者进程的阻塞状态。
参考文献: