Linux下的阻塞、非阻塞,同步、异步

一、阻塞与非阻塞,同步与异步的关系

 

1、同步

  同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是说事情必须一件一件地做,等前一件做完了才能做下一件事。

2、异步

  异步,就是在发出一个功能调用时,调用者不会立刻得到结果。实际处理这个调用的部件是在调用发出后,通过状态、通知来通知调用者,或通过回调函数处理这个调用。

3、阻塞

  阻塞调用是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态。在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)。函数只有在得到结果之后才会返回。

4、非阻塞

  非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

5、总结

  同步和异步是一个过程,阻塞和非阻塞是线程的一种状态

  同步和异步描述的是获得功能调用(结果)的方式。阻塞和非阻塞描述的是在获得功能调用(结果)的过程中,当前线程的状态

同步,就是我调用一个功能,该功能没有结束前,我死等结果。
异步,就是我调用一个功能,不需要知道该功能结果,该功能有结果后通知我(回调通知)
阻塞, 就是调用我(函数),我(函数)没有接收完数据或者没有得到结果之前,我不会返回。
非阻塞,就是调用我(函数),我(函数)立即返回,调用者通过盲轮询去获取结果。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值