回调机制

模块间的调用关系

在一个应用系统中,无论使用何种语言开发,必然会存在模块之间的调用,调用的方式主要包含:

同步调用

同步调用是最基本也是最简单的调用方式,类A的方法a在调用类B的方法b,会一直等待b方法执行完成,方法a才进行后续的代码执行。这种方式一般使用这种方式适用于方法b执行的时间不长的情况下,因为如果方法b执行的时间过长,方法a余下的代码逻辑是无法执行下去的,这样会造成整个流程的阻塞

异步调用

异步调用是为了解决同步调用可能出现的阻塞问题,类A的方法a通过新起线程的方式调用类B的b方法,代码接着直接继续往下执行,无需等待b方法的执行结果。这样无论方法b执行时间多久,都不会阻塞方法a的执行。但是这种方式下的调用关系,由于方法a无需等待方法b的执行完成,如果方法a中需要使用到方法b的执行结果,必须通过一定的方式对方法b的执行结果进行监听。在Java中,可以使用Future+Callable的方式实现

回调

回调的思想在于:

  1. 类A的方法a调用类B的b方法
  2. 类B的b方法执行完毕主动调用类A的callback方法

这样的调用方式是一种双向的调用方式,其核心是回调方将本身即this传递给调用方,这样调用方就可以在调用完毕之后告诉回调方它想要的信息。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、回调的含义和用途 1. 什么是回调? 一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类:同...
    Coder_Y阅读 1,777评论 0 5
  • 转载自Java回调机制解析 模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。...
    抓兔子的猫阅读 669评论 0 8
  • 文章出自http://www.sohu.com/a/125632583_445013二、回调的含义和用途1、什么是...
    安安静静写代码阅读 399评论 0 2
  • 模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,也...
    值得一看的喵阅读 486评论 0 0
  • 一早醒来打开手机,竟然看到国外一个朋友的信息,打开一看,欣喜无比,一个美丽新生命的诞生。 一个年轻...
    李思睿vicky阅读 318评论 0 0