public interface CallBack {
/**
* 执行回调方法
* @param objects 将处理后的结果作为参数返回给回调方法
*/
public void execute(Object... objects );
}
public class Local implements CallBack,Runnable{
private Remote remote;
/**
* 发送出去的消息
*/
private String message;
public Local(Remote remote, String message) {
super();
this.remote = remote;
this.message = message;
}
/**
* 发送消息
*/
public void sendMessage()
{
/**当前线程的名称**/
System.out.println(Thread.currentThread().getName());
/**创建一个新的线程发送消息**/
Thread thread = new Thread(this);
thread.start();
/**当前线程继续执行**/
System.out.println("Message has been sent by Local~!");
}
/**
* 发送消息后的回调函数
*/
public void execute(Object... objects ) {
/**打印返回的消息**/
System.out.println(objects[0]);
/**打印发送消息的线程名称**/
System.out.println(Thread.currentThread().getName()); //Thread-0
/**中断发送消息的线程**/
Thread.interrupted();
}
public static void main(String[] args)
{
Local local = new Local(new Remote(),"Hello");
local.sendMessage();
}
public void run() {
System.out.println(Thread.currentThread().getName()); //Thread-0
remote.executeMessage(message, this); //这相当于给同学打电话,打完电话之后,这个线程就可以去做其他事情了,只不过等到你的同学打回电话给你的时候你要做出响应
}
}
public class Remote {
/**
* 处理消息
* @param msg 接收的消息
* @param callBack 回调函数处理类
*/
public void executeMessage(String msg,CallBack callBack)
{
/**模拟远程类正在处理其他事情,可能需要花费许多时间**/
for(int i=0;i<1000000000;i++)
{
}
/**处理完其他事情,现在来处理消息**/
System.out.println(msg);
System.out.println("Remote hava executed the message from Local");
/**执行回调**/
callBack.execute(new String[]{"Nice to meet you~!"}); //这相当于同学执行完之后打电话给你
System.out.println(Thread.currentThread().getName()); //Thread-0
}
}
分享到:
相关推荐
代码public class Demo { public static void main ( String args []) { Value v = new Value (); v . setSum( 0 ); v . getSUM(); for ( int i = 0 ; i < 100 ; i ++ ) { System . out . println( "执行后续任务...
API是用于Java异步编程的高级API。 该API支持将多个异步计算流水线化(也称为链接或合并)成单个结果,而不会造成嵌套回调(“ callback hell”)的混乱。 此API也是Java中Future / Promise并发构造的实现。 从Java ...
nls-sdk-java-demo 阿里云智能语音交互DEMO demo 解压后,在pom 目录运行mvn package ,会在target目录生成可执行jar nls-example-transcriber-2.0.0-jar-with-dependencies.jar 将此jar拷贝到目标服务器,可用于...
异步通知,订单支付成功会有异步回调商户服务器,修改订单状态以异步通知为准,商户需要做好重复通知的控制,避免重复通知导致重复入账。 2.3、API接口说明 2.2.1、商户支付结果查询接口 //可查订单状态、...
包含生成预支付信息,后台异步回调代码。 预支付信息同时支持ios和android支付使用。 1.使用idea开发,maven包管理 2.springmvc框架搭建 你需要做的配置支付宝和微信的帐号 版本:微信V3 此代码支持最新开发时间...
使用的是java,封装了支付宝支付demo的请求参数,异步回调,同步通知方法
从支付处理平台接收回调。 在 AWS 上,我们将使用将请求直接代理到 EventBridge。 本地合作伙伴集成 我们将在此处查看操作工作流,并展示您如何接收托管在 上的管道的构建通知。 我们将使用 Buildkite 与 ...
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...
HMS Scankit演示 English | 目录 ...该应用程序直接调用HUAWEI Scan Kit的扫描活动,并通过异步回调API获取扫描结果。 条形码可以使用设备相机或通过导入的图像进行扫描。 代码位置: 定制视图 该
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要...
wx与支付宝 支付demo
Mqtt - Paho 编程模型开始创建 MqttClient(同步或异步),为上述客户端设置“回调”。 “连接”客户端到代理向代理上的主题发布消息,最好使用以下 API: MqttClient.publish(String, byte[] payload, int QoS, ...
新增lambda高级函数作为异步结果回调。优化url/form参数设置方式,支持每次请求前刷新同一task实例的公共参数。以kotlin拓展函数方式实现多任务管理。2 实现libnetwork.v2.RxHttpTask实例创建...
//自定义回调方法(注意要和callBack的值保持一致) private void throwMethod(Throwable throwable){ Log.e(TAG, "throwMethod: >>>>>" throwable.toString()); }5、重试机制篇/** * @param count...
2.便捷化,VTCP并提供应用层二次开发标准接口,比如QIO异步模型接口(开源),你无需了解QIO具体原理,直接可以通过添加回调处理代码的形式来完成你的工作。 3.高速度,VTCP拥有极强的抗丢包,拥有100%满带宽传输...
|--回调函数的定义 |--图片之BitMap、Drawable、inputStream及byte[] 互转 |--图片之保存图片至SD卡 |--图片之删除40%最近没有被使用的 |--图片之的本地缓存至SD卡 |--图片之网络异步下载图片 |--图片之获取SD卡所有...
延迟对象 延迟对象(Deferred Object,jQuery.Deferred对象)是一个可链接的(chainable)实用工具对象,实现了Promise接口,可以在回调队列中注册多个回调、调用回调队列并转发任何同步/异步函数的成败状态。...
2、submit_task 提交的任务不用去管回调里面的ptask参数。内部自动处理。 [16:57 2018/8/24] 1、修复中文模块部分命令错误问题 2、修复英文模块几处命令错误问题 3、增加websocket例程,本来httpclient里面人,有些...
Asp.Net2.0无刷新客户端回调 体验.net 2.0 的优雅(1) -- 异步WebService调用 ASP.NET 2.0页面框架的几点新功能 ASP.NET 2.0 中收集的小功能点 asp.net2.0中的webpart使用小记 2.0问题、错误解决办法 ASP.NET 2.0...