码迷,mamicode.com
首页 > 其他好文 > 详细

同步与异步,阻塞与非阻塞

时间:2020-10-31 02:34:09      阅读:13      评论:0      收藏:0      [点我收藏+]

标签:同步   阻塞   获取   方法   控制   一个   异步   结束   必须   

同步与异步

如果在一个方法中调用另一个方法,当我们在讨论同步还是异步时,其实讨论的是被调用方的行为。

  • 当被调用方在执行完逻辑之后才返回执行结果给调用方,也就是说调用方一直等待被调用方执行结束就是同步。
  • 当被调用方在被调用之后没有计算出执行结果就立即返回就是异步。

所以被调用方,不立即返回就是同步,立即返回就是异步。

如果被调用方是异步,就必须提供某种方式让调用方知道它执行完了,以及执行的结果:

  • 调用方提供回调方法给被调用方,被调用方在执行完了之后调用回调方法并传入执行结果。
  • 被调用方尽管不返回执行结果,但会返回一个对象,调用方可以通过调用该对象获取/控制被调用方的执行进度。

阻塞与非阻塞

如果一个方法调用另一个方法,当我们在讨论是阻塞还是非阻塞时,其实讨论的是调用方的行为。

  • 当被调用方返回执行结果之前,调用方什么都不做,一直等待被调用方,那就是阻塞。
  • 方被调用方返回执行结果之前,调用方去执行其它的逻辑,那就是非阻塞。

同步与异步,阻塞与非阻塞

标签:同步   阻塞   获取   方法   控制   一个   异步   结束   必须   

原文地址:https://www.cnblogs.com/xiaoyuanr/p/13904613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!