同步、异步是通信消息的一种机制。我们生活中沟通交流的机制有好多种,比如说面对面、电话、聊天软件、邮件等。面对面、电话交流就是同步交流机制,双方都是实时同步的交流。邮件、聊天软件属于延迟异步交流。
举例1:
同步:大哥老王坐在VIP包间的沙发上,跟小弟阿丢说,给我搞包烟,小弟口袋里刚好有一包,小弟立马从口袋里拿给大哥老王。(大哥说,小弟好好跟着大哥,以后有肉吃)
异步:大哥老王坐在VIP包间的沙发上,跟小弟阿银说,给我搞包烟,但是小银口袋里没烟,就跟大哥说,稍等,我这就下楼去买。过了10分钟后,小银就把烟交给了大哥老王。
阻塞、非阻塞是指程序(老王)等待调用结果时的一种状态。
举例2:
阻塞:大哥老王在小弟阿银去买烟的10分钟时间里,坐在沙发上傻了吧唧干等着,啥也没做。就纯属在等小弟阿银把烟送来。
非阻塞:大哥老王在小弟阿银去买烟的10分钟时间里,跟包间里的小姐姐K歌了,这段时间里,大哥都没有去想,小弟阿银能不能把烟送到。大哥老王边等烟边玩小姐姐。
同步、异步、阻塞、非阻塞几种组合举例理解:
同步、异步决定于小弟阿丢、阿银。阻塞、非阻塞决定于大哥老王喜不喜欢小姐姐。
同步阻塞(小弟阿丢、大哥老王不喜欢小姐姐):
大哥老王身体不适,不喜欢小姐姐,心情郁闷只想抽烟,向阿丢要烟,阿丢立马回应大哥,刚好自己身上有烟。
同步非阻塞(小弟阿丢、大哥老王喜欢小姐姐):
大哥老王最近生意做得风生水起,心情非常的愉快,向阿丢要烟,阿丢立马回应大哥,大哥同时也抱着小姐姐在一起。
异步阻塞(小弟阿银、大哥不喜欢小姐姐):
大哥老王身体不适,不喜欢小姐姐,心情郁闷只想抽烟,向阿银要烟,阿银下楼买烟,没有及时回应大哥能不能给你烟,可能楼下没有烟卖的情况。
异步非阻塞(小弟阿银、大哥喜欢小姐姐):
大哥老王最近生意做得风生水起,心情非常的愉快,向阿银要烟,大哥等小弟阿银下楼买烟的同时,大哥同时在跟小姐姐玩的不亦乐乎。