进来学习node,对阻塞和异步有了更加深刻的了解
阻塞和非阻塞是关于程序在等待调用结果(消息,返回值)时的状态.
阻塞是返回之调用结果前,线程会被挂起(如浏览器有:出现TAB的那个等待中的圆圈的情况)。调用线程只有在得到结果才返回。
非阻塞调用指在不能立刻得到结果之前,该调用不挂起(不阻塞当前线程)。
比如,你送信给某人,把信拿过去给他,然后一直等(挂起,不管其他所有的事情),直到他看完信发表了感想再走(得到结果返回)------阻塞
你送信给某人,把信拿过去给他,然后出一边玩去了(不阻塞,或者中间时不时问:你看完了吗?、或者做其他事情等等)最后等到他看完了就走(返回)-----非阻
同步和异步关注的是消息通信机制
你送信给某人,把信拿过去给他,他说你等我看完先(不知道他要看多久)直到他看完(返回结果)------同步
你送信给某人,把信拿过去给他,他说看完了就微信(回调)通知(说完了,不马上返回结果)看完了再返回结果------异步
同步异步在于对方,阻塞非阻塞在于自己