同步/异步与阻塞/非阻塞之间的差异具体是什么?

就我的理解,同步/阻塞是同一概念,都是客户端等待服务端的回执,服务端不返回回执,客户端就不往下走;而异步/非阻塞则是客户端不等待服务端的回执,直接往下走,等到服务端处理结束后,在调用异步回调函数通知客户端。

但具体的,同步和阻塞,异步和非阻塞间的区别,分不清,有谁能解惑呢?

蛊毒传说
浏览 564回答 4
4回答

互换的青春

一般来说阻塞和非阻塞式指IO调用是立即返回(非阻塞)还是等待完成再返回(阻塞)。同步和异步是个广义概念,是阻塞和非阻塞的表现。

DIEA

其实你理解的很对,同步就是指不会出现数据的不统一,单线程是顺序执行。不同步就是会出现数据不统一的现象,比如多线程的时候,这个线程用到的数据可能会被另一个线程给改了,就造成数据不同步了。而阻塞和非阻塞是指在线程运行的时候是否等待函数返回,如果是单线程就会一直等待,如果是多线程的就不等待向下执行这个时候就容易出现不同步的情况了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java