同步异步阻塞非阻塞

对于这些名词来说,确实有时候让人难以琢磨,接下来我用通俗易懂的方式解释这几个名词

同步:

同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回。

异步:

异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时我们可以处理其他的请求,被调用者通常依靠事件,回调等机制来通知调用者其返回结果。

阻塞:

阻塞就是发起一个请求,调用者一直等待请求结果返回,也就是当前线程会被挂起,无法从事其他任务,只有当条件就绪才能继续。

非阻塞:

非阻塞就是发起一个请求,调用者不用一直等着结果返回,可以先去干其他事情。

首先声明,同步和异步两个概念面向的是被调用的任务的特性,而阻塞和非阻塞面向的是调用者的特性。

同步和异步的区别是什么,简单来说就是调用任务时,任务反馈给我们的信息机制的不同,同步情况下,当我们调用的任务结束时,任务会回送一个消息通知我们的调用者,任务结束。而同步机制不会。

阻塞和非阻塞区别是什么,阻塞状态下我们调用的任务如果没有完成,该线程会一直挂起,直到任务调用完成,线程继续执行,而非阻塞代表我们的当前线程可以继续执行其他任务。

其实我们从两个角度去看这些定义会比较明确

最后引用大佬对两个定义的解释

同步和异步强调的是消息通信机制 (synchronous communication/ asynchronous communication)。

阻塞和非阻塞 强调的是程序在等待调用结果(消息,返回值)时的状态. 阻塞调用是指调用结果返回之前,当前线程会被挂起。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值