callback例子

1.声明callback接口:

public interface ICallBack {public void process(String result);}

2.client实现callback接口:

public class Client implements ICallBack {private RemoteServer server;public Client(RemoteServer server) {this.server = server;}public void sendMsg(final String msg){System.out.println("客户端异步发送数据...");new Thread(new Runnable() {@Overridepublic void run() {try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}server.doRequest(Client.this, msg);}}).start();}@Overridepublic void process(String result) {System.out.println("客户端处理服务器返回结果: "+ result);}
}

3.服务器处理客户端请求:

public class RemoteServer {public void doRequest(ICallBack callBack, String msg) {System.out.println("服务器正在处理,请稍后...");System.out.println("服务器接收到请求信息: "+ msg);String result = "[server]: copy that, you do well";callBack.process(result);}
}

4.测试用例:

@Test
public void callbackTest() throws InterruptedException {RemoteServer server = new RemoteServer();Client client = new Client(server);client.sendMsg("[007]: this is 007");Thread.sleep(3000);
}

5.结果:

客户端异步发送数据...
服务器正在处理,请稍后...
服务器接收到请求信息: [007]: this is 007
客户端处理服务器返回结果: [server]: copy that, you do well

callback例子相关推荐

  1. Keras中Callback函数的使用

    回调函数是一组在训练的特定阶段被调用的函数集,你可以使用回调函数来观察训练过程中网络内部的状态和统计信息.通过传递回调函数列表到模型的.fit()中,即可在给定的训练阶段调用该函数集中的函数. [Ti ...

  2. JQuery弹出窗口小插件ColorBox

    ColorBox官方网站:http://colorpowered.com/colorbox/ colorbox()函数使用一堆key/value对象和一个可选的callback函数格式:$('sele ...

  3. jQuery的弹出窗口插件colorbox

    支持 照片,照片组,幻灯片,ajax,内联 和 iframe 框架. 通过CSS 控制外观,使用用户可以很容易重新定制外观. 不需要更改 ColorBox 的 javascript 文件就可以重新设定 ...

  4. Ajax入门总结--jquery实现Ajax

    ajax(Asynchronous Javascript And XML):只刷新局部页面的技术 ajax的工作流程: 使用javascript获取到页面上的数据 通过Ajax引擎创建XMLHttpR ...

  5. node.js知识点总结

    一.当exports对象和module.exports对象指向的不是同一个对象时,以module.exports对象为准. 二.系统模块 // 1. fs.readFile() 读取文件 // 语法格 ...

  6. java clex 中的 IloLPMatrix

    最近看 cplex 在 java 的 callback,发现它给的 callback 例子中,都是用 IloLPMatrix 这个类放约束条件,在 IloLPMatrix 中, 每个约束条件存储在 I ...

  7. 13 -3 jquery选择器和 jquery动画

    一 选择器: 1 基本选择器 例子: 1 <!--id 类 标签--> 2 <!DOCTYPE html> 3 <html lang="en"> ...

  8. css与jquery、图标字体、常用数据

    常用数据 *)按钮常用颜色:#008cBA/#169fe6;(字母大小写没有区别) css与jquery.图标字体. *)还能这样选择 header #search input[type=" ...

  9. 四、jQuery 中的事件和动画(嘎嘎详细)

    文章目录 前言 一.事件 1.1 加载 DOM 1.1.1 执行时机 1.1.2 多次使用 1.1.3 简写方式 1.2 事件绑定 1.2.1简单使用 1.2.2 简写绑定事件 1.3 合成事件 1. ...

最新文章

  1. 从源码分析DEARGUI之add_menu
  2. VMware vSphere 虚拟化简介
  3. Bootstrap(一):CSS--栅格系统
  4. 哪里可以找到python的免费教程-哪里有实用且免费的Python视频教程
  5. 利用GAN原始框架生成手写数字
  6. Memstore数据刷写与阻塞机制深入剖析及参数优化
  7. python中如何获取类的属性,python – 获取类的属性
  8. 【数字信号调制】基于matlab GUI AM+DSB+SSB+ASK+FSK+PSK调制解调【含Matlab源码 058期】
  9. [ZT]C#的多线程机制探索(1)
  10. android ndk 怎样调用第三方的so库文件。
  11. mysql router docker_MySQL Route负载均衡与读写分离Docker环境使用
  12. 信息的定义与特征,构成世界的三大要素:物质、能量、信息
  13. 0.9寸oled屏幕驱动程序
  14. 伦理是智慧的内核驱动
  15. 【2021-04-25】APP逆向之某智网加密数据
  16. 怡和嘉业在创业板上市:总市值约186亿元,前三季度业绩同比翻倍
  17. C语言入门知识1(零基础新手适用)
  18. java-day24
  19. 第九届蓝桥杯 螺旋折线
  20. C++ websocket 使用体验

热门文章

  1. 外贸公司业务员怎么开发客户
  2. 算法系列——迪杰斯特拉算法(Dijkstra)
  3. Python的字符串函数以及引用
  4. Eclipse 添加中文语言包
  5. 详解Java的protected访问权限
  6. 研发各阶段易犯错误小结
  7. Android SDK下载列表(含国内下载)-上
  8. eclipsevue代码怎么运行_使用Eclipse开发Vue——CodeMix够智能
  9. Python爬虫爬取数据到sqlite数据库实例
  10. 4-20mA变送,电压转电流,PCB和原理图