阻塞-非阻塞 VS 同步-异步

Posted tangtangworld

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阻塞-非阻塞 VS 同步-异步相关的知识,希望对你有一定的参考价值。

最近看到有人拿阻塞和同步进行比较,我就呵呵了,下面分享我的理解:

  • 阻塞/非阻塞考察的是调用API时,若资源未准备好,API是否会立即返回(非阻塞),或将调用线程阻塞直到请求的资源就绪(阻塞)
    •   比如read函数,如果在文件描述符上没有数据可读,read调用默认行为是block调用线程,直到资源就绪,read返回读出的bytes;
  • 同步/异步更多场景下考察的是消息通信双方的一个交互流程,如果A发送消息给B,A一直等待并处理B的返回,称作同步;如果A发送消息给B,然后执行其他任务,B收到消息之后处理结束,并给A返回处理结果,此时A收到B的回应并处理,称作异步;
    •   

以上是关于阻塞-非阻塞 VS 同步-异步的主要内容,如果未能解决你的问题,请参考以下文章

BIONIOAIO的形象比喻

IO阻塞非阻塞同步异步同步阻塞同步非阻塞异步阻塞异步非阻塞

同步阻塞同步非阻塞异步阻塞异步非阻塞--简明介绍

并行,并发,串行,同步,异步,阻塞,非阻塞,同步阻塞,同步非阻塞,异步阻塞,异步非阻塞

同步异步、阻塞非阻塞、Netty

同步/异步和阻塞/非阻塞