java回调函数

论坛 期权论坛 脚本     
匿名技术用户   2020-12-22 14:31   38   0

前言:写这篇文章的目的在于解惑回调函数的疑问!

那么此文将从五个方面来说明回调:

  • why: 为什么要回调?
  • what: 回调什么?
  • who: 谁负责回调?
  • when: 何时回调?
  • how:怎样回调?

why:为什么要用回调?

避免阻塞!回调函数设计的初衷:如同两个人打电话,我电话委托别人办一件事,不需要在电话这头一直等着对方答复。而是先告知对方你处理完后给我回个电话。这期间我可以爱干啥干啥。
多线程之间:统一接口模版对象线程间传递,各个实现类对象可设定单独的实现方法;
jar包调用:包中的一些方法如果执行时间过长,且执行完成后需要触发应用层的动作。就可以采用回调的方式;

what:回调什么?

按照A(方法)-B(方法)-C(方法)的划分,A执行的过程中调用B:
    (1)在B未执行完成之前不具备调用C的条件;
    (2)A不愿等待B执行完成(比如:B执行时间过长,通常采用异步调用)
所以A委托告知B(将要执行的对象传递给B)执行完成后触发C(通过传递的对象调用方法)。

who:谁负责回调?

中间调用的B方法,B通常是被异步调用的。

when:何时回调?

通常在B方法执行完成。

how:怎样回调?

......

总结

回调的本质是一种设计思想,而不是一种具体实现。通过ABC的思路,把A想做的事-C委托给B(A不具备触发C的条件),由B在特定的条件下去触发。B专注于处理自身的事情,而不关注事-C的具体情况;
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP