java的同步调用、回调和异步调用。
来源:互联网 发布:常用的python ide 编辑:程序博客网 时间:2024/05/29 14:08
软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。
同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;
回 调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;
异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。
回调和异步调用的关系非常紧密:使用回调来实现异步消息的注册,通过异步调用来实现消息的通知。
========================================================
用Java里的例子:
package callbackexample; public interface ICallBack { //需要回调的方法 public void postExec(); }
另外的一个类:
package callbackexample; public class FooBar { //组合聚合原则 private ICallBack callBack; public void setCallBack(ICallBack callBack) { this.callBack = callBack; doSth(); } public void doSth() { callBack.postExec(); } }
第二个类在测试类里面,是一个匿名类:
package callbackexample; public class Test { public static void main(String[] args) { FooBar foo = new FooBar(); foo.setCallBack(new ICallBack() { public void postExec() { System.out.println("在Test类中实现但不能被Test的对象引用,而由FooBar对象调用"); } }); } }
上诉的代码:
1.两个类:匿名类和FooBar
2.匿名类实现接口ICallBack(在test测试的main方法中用匿名类的形式实现)
3.FooBar 拥有一个参数为ICallBack接口类型的函数setCallBack(ICallBack o)
4.匿名类运行时调用FooBar中setCallBack函数,以自身传入参数
5.FooBar已取得匿名类,就可以随时回调匿名类中所实现的ICallBack接口中的方法
==================================
1。首先回调方法的概念与“构造方法”的概念是不一样的,它不是指java中某个具有特殊意义或用途的方法。
2。称它为方法的“回调”更恰当一些,它是指方法的一种调用方式。任何一个被“回调”的方法,皆可称之为“回调方法”
3。方法的回调通常发生在“java接口”和“抽象类”的使用过程中。
假设有接口名为 ICallBack 其中有方法名为postExec()
有类Myclass 实现了该接口,也就是一定实现了postExec()这个方法。现在有另一个类FooBar它有个方法 setCallBack(ICallBack callBack) ,并且setCallBack方法调用了callBack的postExec()方法。
如果现在,我们使用一个Myclass 的实例myClass,将它作为参数带入到setCallBack(ICallBack callBack)方法中,我们就说setCallBack(ICallBack callBack)方法回调了myClass的postExec()方法。
中国最新款女鞋网,来自淘宝天猫月销量上千的女鞋哟:
www.taotuike.cn
- java的同步调用、回调和异步调用。
- 同步调用、回调和异步调用区别
- 同步调用、回调和异步调用区别
- 同步调用、回调和异步调用区别
- 同步调用、回调和异步调用区别
- 同步调用、回调和异步调用
- 同步调用、回调和异步调用区别
- 同步调用、回调和异步调用的区别
- 软件接口:同步调用、回调和异步调用
- 【NodeJS】回调和异步调用的关系
- 如何用Java回调和线程实现异步调用
- DUBBO研究与学习二:打基础-同步调用、回调和异步调用区别
- java 回调的同步回调和异步回调
- C#委托的同步调用、异步调用、异步回调
- 同步调用、异步调用、异步回调的区别
- java 回调函数同步、异步调用
- java---同步调用与异步调用对比
- 同步调用、异步调用
- Ruby中采用PG访问Postgresql表及function
- Neat and clear explanation of Java's passing by value
- 常见算法:c语言矩阵算法问题
- Xcode4.2 和 iOS 5 的ARC机制及用法介绍
- How to convert Java object to / from JSON (Gson)
- java的同步调用、回调和异步调用。
- opencvAX-day12
- Web前端研发工程师编程能力飞升之路
- Android中对话框的使用
- Extjs GridPanel 显示时间
- 双向链表
- Programming Methodology(五)
- Struts2实现避免表单重复提交
- 40本Android开发电子书