java回调函数

本文介绍了Java中方法调用的两种方式:同步调用和异步调用。同步调用会导致调用者等待被调用者执行完成,适合短时操作;而异步调用则避免了阻塞,适用于长时间任务,但需处理结果监听。通过案例展示了回调和使用Future+Callable等方式实现异步处理。
摘要由CSDN通过智能技术生成

java方法调方法的方式分两种

第一种同步调用

A实例对象方法a()调用B实例对象b(),a()方法需要等b()执行完才往下走。这种调用方式适用于方法b()执行时间不长的情况,因为b()方法执行时间一长或者直接阻塞的话,a()方法的余下代码是无法执行下去的,这样会造成整个流程的阻塞。

特殊地回调调用

 A实例对象方法a()调用B实例对象b(),B实例对象b()调用A实例对象方法callback()。

实现案例:

学生接口

老师接口

 

老师、学生实现类

 

 main方法

结果

 

 

第二种异步调用

异步调用是为了解决同步调用出现的阻塞,导致整个流程卡住而产生的一种调用方式。 A实例对象方法a()调用B实例对象b(),代码接着直接往下执行,这样无论方法b()执行时间多久,都不会阻塞住方法a()的执行。但是这种方式,由于方法a()不等待方法b()的执行完成,在方法a()需要方法b()执行结果的情况下(视具体业务而定,有些业务比如启异步线程发个微信通知、刷新一个缓存这种就没必要),必须通过一定的方式对方法b()的执行结果进行监听。在Java中,可以使用Future+Callable或者join或者CountDownLatch的方式做到这一点,详情看==>https://blog.csdn.net/Growing_hacker/article/details/111645972

 

参考一:https://www.cnblogs.com/shenwen/p/9046482.html

参考二:https://www.cnblogs.com/yangmin86/p/7090882.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值