同步调用不是一个具有小超时值的异步调用吗?

Zub*_*air 5 asynchronous synchronous

我有点困惑为什么同步调用与异步调用不同,因为从来没有"立即"响应,它仍然需要一些纳秒或毫秒?

Car*_*icz 15

完成其作业(或达到超时)后,同步调用将返回其调用者.在启动其他一些活动后立即返回异步调用.

这意味着,对于同步调用,调用者等待 - 完全被阻止 - 而被调用的活动发生; 异步调用几乎立即返回给调用者,尽管所发生的一切都是活动已经启动.因此,在异步调用之后,被调用的活动与调用活动并行运行.

通常会有一些机制让异步启动的活动"报告"它已完成,或者调用活动可以轮询或以其他方式查找异步任务完成的证据.

  • 我添加了更多细节."唯一的区别"听起来像你没有完全捕捉到影响 - 同步和异步调用是截然不同的. (3认同)
  • 不,实际上用异步模拟同步调用并不容易.当被调用的活动运行时,你如何让你的呼叫活动停止在其轨道上(没有忙碌循环!)? (2认同)