Java代码块回调,QueueEvent - 队列化执行线程和代码块
QueueEvent
队列化执行线程和代码块
函数说明
1.主要有两个子类,QueueEventThread用来顺序执行线程,QueueEventCode用来顺序执行代码
2.可以使用setSpeed()设置执行速率
3.enqueue()加入队列
4.next()执行队列中的下一个事件
5.setSnyc()是否同步执行
6.finish()停止队列
回调说明
1.回调只有QueueEventCode对象存在
2.onDoingCode()回调,是执行代码块的回调。
3.onDoneCode()回调,是代码执行完毕的回调。
举例
public void getData1(){
QueueEventCode.getInstance().enqueue(new OnCodeEvent() {
@Override
protected void onDoingCode(Bundle b) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().get().url("http://www.baidu.com/").build();
Call call1 = client.newCall(request);
//查询省
call1.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//失败
}
@Override
public void onResponse(Call call, final Response response) throws IOException {
final String responseStr = response.body().string();
//成功
//查询到省
Bundle bundle=new Bundle();
bundle.putString("key",responseStr);
QueueEventCode.getInstance().next(bundle);//通知下次请求开始,并传递参数
}
});
}
}).enqueue(new OnCodeEvent() {
@Override
protected void onDoingCode(Bundle b) {//可以从bundle中取出上一次回调来的参数,上一次返回的是省
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().get().url("http://www.baidu.com/").build();
Call call1 = client.newCall(request);
//查询市
call1.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//失败
}
@Override
public void onResponse(Call call, final Response response) throws IOException {
final String responseStr = response.body().string();
//成功
//查询到市
Bundle bundle=new Bundle();
bundle.putString("key",responseStr);
QueueEventCode.getInstance().next(bundle);//通知下次请求开始,并传递参数
}
});
}
}).enqueue(new OnCodeEvent() {
@Override
protected void onDoingCode(Bundle b) {//可以从bundle中取出上一次回调来的参数,上一次返回的是市
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().get().url("http://www.baidu.com/").build();
Call call1 = client.newCall(request);
//查询市
call1.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//失败
}
@Override
public void onResponse(Call call, final Response response) throws IOException {
final String responseStr = response.body().string();
//成功
//查询到县
Bundle bundle=new Bundle();
bundle.putString("key",responseStr);
QueueEventCode.getInstance().next(bundle);//通知下次请求开始,并传递参数
}
});
}
});
}
Java代码块回调,QueueEvent - 队列化执行线程和代码块相关推荐
- Java多线程01:创建新的执行线程
⭕️前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家(点击跳转到网站)⭕️ 创建新的执行线程(thread.Runnable) 核心概念 线程就是独立的执行路径 在程序 ...
- java中的异常处理代码,java_深入剖析Java中的各种异常处理方式,1. 调试追踪代码:public s - phpStudy...
深入剖析Java中的各种异常处理方式 1. 调试追踪代码: public static void enterTryMethod() { System.out.println("enter a ...
- Java对接ansible自动运维化平台
Java对接ansible自动运维化平台实现文件采集分发 经过大量查阅,网上使用Java对接ansible自动运维化平台的示例代码几乎没有,为了方便自己后期巩固以及有需要的小伙伴,特以记录!!! 此次 ...
- jupyter可以打开HTML文件吗,Jupyter ~ 像写文章般的 Coding (附:同一个ipynb文件,执行多语言代码)...
前面用了很久Notebook来交互式编程了,此次说说几个其余的选项:html Notebook Markdown 此次选Markdown模式(关于Markdown基础能够看以前写的Markdown B ...
- 在jupyter编写代码列出HTML,Jupyter ~ 像写文章般的 Coding (附:同一个ipynb文件,执行多语言代码)...
前面用了好久Notebook来交互式编程了,这次说说几个其他的选项: Notebook Markdown 这次选Markdown模式(关于Markdown基础可以看之前写的Markdown Base) ...
- Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例
Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例 2018年05月08日 08:12:48 WJN不忘初心 阅读数:34 除了说普通代码块,静态代码块,构造代码块的执行顺序外,还有静 ...
- java静态/动态成员变量、初始化块,父类/子类构造函数执行顺序问题
2019独角兽企业重金招聘Python工程师标准>>> /* * 几大原则 * 一.静态成员变量(Static) * 1.静态成员变量为类变量,所有对象共享同一内存空间 * 2.静态 ...
- java中静态变量,静态代码块,静态方法,实例变量,匿名代码块的加载顺序
1. java中静态变量,静态代码块,静态方法,实例变量,匿名代码块 在Java中,使用{}括起来的代码称为代码块,代码块可以分为以下四种: (1)普通代码块:就是类中方法的方法体 public vo ...
- java 代码块 作用_Java核心(三):代码块的作用
Java中用{ }括起来的代码段就是代码块,他分为如下几种类型 位置 作用 局部代码块 在方法当中使用,作用是控制变量的生命周期. 局部代码块的变量,只能在代码块内部使用,在执行结束后会被Java回收 ...
最新文章
- C#操作注册表全攻略
- 处理 Oracle SQL in 超过1000 的解决方案
- dubbo服务使用spring-data-mongodb进行时间查询的bug记录
- 【Linux】一步一步学Linux——startx命令(199)
- 解密 云HBase时序引擎OpenTSDB 优化技术
- linux安装常用命令工具包wget,cmake等
- python 3.5 django 笔记(六)修改博客标题与内容
- 万万没想到!ModelArts与AppCube组CP了
- linux的终端下的命令行管道|的简单实现
- java stream byte_乐字节-Java8新特性之Stream流(上)
- faceframe kinect2.0 api 注意点
- 嵌入式Linux学习笔记
- linux的ib网卡驱动安装,linux安装IB网卡(mellanox)驱动
- f1c100A运行linux,荔枝派 Nano 全志 F1C100s 编译运行 Linux 笔记
- ENVI Classic 分割标签制作
- 简单两个矩阵如何用计算机运算,教你使用excel做矩阵运算
- 基于STM32的多普勒雷达测速
- 【最新】半小时教你制作出属于自己的QQ机器人【保姆级】
- 第一篇文献:谈大数据时代的云控制摄影测量 ——张祖勋院士
- LearnOpenGL学习笔记—入门03:Hello Triangle
热门文章
- 前端学习(1800):前端调试之清除浮动练习1
- “睡服”面试官系列第二十篇之generator函数的异步应用(建议收藏学习)
- 前端学习(171):注释元素
- 第三十四期:花了一个星期,我终于把RPC框架整明白了!
- 设置启用树莓派的HDMI显示
- linux下GPRS模块ppp拨号上网
- 理解CSS3 max/min-content及fit-content等width值
- display:table-cell的集中应用
- linux初始化进程ppid号,linux基础(十一)--系统初始化的简谈
- JMeter - 如何创建可重用和模块化测试脚本