同步、异步、阻塞和非阻塞

同步和异步
同步:是用户线程发起IO请求需要等待或者轮询内核IO操作完成后才能继续执行。
异步:用户线程发起IO请求后任需要继续执行,当内核IO操作完成后会通知用户线程,或者调用用户注册的回调函数。

阻塞和非阻塞
阻塞:是指IO操作需要彻底完成后才能返回用户空间。
非阻塞:是指IO操作被调用后立即返回一个状态值,无需等待IO操作完成。

同步和异步(线程间调用)
同步和异步是对应调用者和被调用者,他们是线程之间的关系,两个线程之间要么是同步的,要么是异步的。

同步操作时,调用者需要等待被调用者返回结果,才能进行下一步操作。

异步操作相反,调用者不需要等待被调用者返回调用结果,即可进行下一步操作,被调用者通常依赖于事件,信号,回调函数等机制来通知调用者调用结果。

阻塞和非阻塞(线程内调用)
阻塞和非阻塞是对于一个线程来讲的,在任意时刻,线程要么是处于阻塞的,要么是出于非阻塞的。

阻塞和非阻塞关注的程序等待调用结果(消息,返回值)时的状态。
阻塞调用是指调用结果返回之前,当前线程会被挂起,调用线程只有在得到结果之后才会返回。

非阻塞调用是指不能立刻得到返回结果之前,该调用就不会阻塞当前线程。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值