Java 回调机制解读

栏目: Java · 发布时间: 7年前

内容简介:Java 回调机制解读

模块间调用

在一个应用系统中,无论使用何种语言开发,必然存在模块之间的调用,调用的方式分为几种:

(1)同步调用

Java 回调机制解读

同步调用是最基本并且最简单的一种调用方式,类A的方法a()调用类B的方法b(),一直等待b()方法执行完毕,a()方法继续往下走。这种调用方式适用于方法b()执行时间不长的情况,因为b()方法执行时间一长或者直接阻塞的话,a()方法的余下代码是无法执行下去的,这样会造成整个流程的阻塞。

(2)异步调用

Java 回调机制解读

异步调用是为了解决同步调用可能出现阻塞,导致整个流程卡住而产生的一种调用方式。类A的方法方法a()通过新起线程的方式调用类B的方法b(),代码接着直接往下执行,这样无论方法b()执行时间多久,都不会阻塞住方法a()的执行。但是这种方式,由于方法a()不等待方法b()的执行完成,在方法a()需要方法b()执行结果的情况下(视具体业务而定,有些业务比如启异步线程发个微信通知、刷新一个缓存这种就没必要),必须通过一定的方式对方法b()的执行结果进行监听。在 Java 中,可以使用Future+Callable的方式做到这一点,具体做法可以参见我的这篇文章《 Java多线程21:多线程下其他组件之CyclicBarrier、Callable、Future和FutureTask 》(注1)。

(3)回调

Java 回调机制解读

最后是回调,回调的思想是:

类A的a()方法调用类B的b()方法

类B的b()方法执行完毕主动调用类A的callback()方法

这样一种调用方式组成了上图,也就是一种双向的调用方式。

**学习Java的同学注意了!!!

学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:521352947 我们一起学Java!**


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

学习bash

学习bash

Cameron Newham、Bill Rosenblatt / 徐炎、查石祥 / 机械工业出版社 / 2003-1-1 / 45.00

bash是自由软件基金会发布的“Bourne Again Shell”的缩写。它是流行的UNIX Bourne shell的免费可用替代产品,供全球Linux用户选用。《学习bash》正是bash的权威指南。 无论你是对bash的用户界面感兴趣,还是对其强大的编程能力感兴趣,你都会发现本书很有价值。它教授了如何使用bash的高级命令行特性,如命令历史、命令行编辑和命令完成。 本书还......一起来看看 《学习bash》 这本书的介绍吧!

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具