回调函数
来源:4-2 实现了 Serializable 接口却报错怎么办?
奶茶三兄弟d
2020-09-29
老师,对于回调函数一直理解的都比较模糊,老师能详细讲解下嘛,
比如StringRedisTemplate 执行 SessionCallback这个回调函数,,最终是如何回调的
写回答
1回答
-
同学你好:
正常一个系统肯定存在模块之间的调用,一般调用分以下几种:
(1)同步调用,类 A 的方法 a() 调用类 B 的方法b (),然后一直等待 b() 方法执行结束,a() 方法才能继续往下执行;
(2)异步调用,类 A 的方法 a() 调用类 B 的方法 b(),然后 a() 方法自己继续往下执行,不用去管 b() 方法是否执行结束;
(3)回调,回调就是类 A 的方法 a() 调用类 B 的方法 b(),然后类 B 的 b() 方法执行结束后也能调用类 A 的a() 方法,简单讲即双向调用,当然,同样回调也会分同步调用、异步调用
回调函数其实也挺好理解的,简单理解就是回调函数就是由调用方自己具体实现,然后提供给被调用方调用的一个特殊函数。Java 多线程中 的Future、Callable、FutureTask 其实就是这种回调机制。
回调函数这种是偏向于概念上的东西,不好理解是很正常的,不过,你不需要过分的纠结于这些概念,因为慢慢的你会发现,这样的概念有很多。理解可以这样使用就是足够的,也是第一布应该去做的。尝试着多写一些类似的代码,你就会慢慢懂了!
我是勤一,致力于将这门课程的问答区打造为 Java 知识体系知识库,Java 知识体系 BBS!共同建造、维护这门课程,我需要每一个你!
212020-09-29
相似问题