同步异步与操作系统
文章目录
同步与异步,阻塞与非阻塞
- 同步与异步
- 函数或方法被调用的时候,调用者是否得到最终结果。
- 直接得到最终结果的,就是同步调用。
- 不直接得到最终结果的,就是异步调用。
- 阻塞、非阻塞
- 函数或方法调用的时候,是否立刻返回。
- 立刻返回就是非阻塞调用
- 不立刻返回就是阻塞调用
-
区别
- 同步、异步,与阻塞、非阻塞不相关
- 同步、异步强调的是,是否得到(最终的)结果
- 阻塞、非阻塞强调是时间,是否等待。
-
同步与异步区别在于:调用则是否得到了想要的最终结果。
- 同步就是一直要执行到返回最终结果;
- 异步就是直接返回了,但是返回的补是最终结果。调用者不能通过这种调用得到结果,以后可以通过被调用者提供的某种方式(被调用者通知调用者、调用者反复查询、回调),来取回最终结果。
-
阻塞与非阻塞的区别在于:调用者是否还能干其他事情。
- 阻塞,调用者就只能等待,无法做其他事情。
- 非阻塞,调用者