看一个接口回调的例子
来源:互联网 发布:windows dvd 播放器 编辑:程序博客网 时间:2024/05/17 06:29
这个例子做了一个客户端发消息到服务端的场景。
1、接口回调,顾名思义,就是用接口来调用方法。
public interface Call { void process(String status);}
2、这个接口想在哪儿使用都可以。
public class Server { public void getClientMsg(Call call, String msg) { try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " 服务端对消息处理了5秒"); String status = "200"; call.process(status); }}
3、凑一个场景。
public class Client implements Call { private Server server; private volatile boolean bol = true; public Client(Server server) { this.server = server; } public void sendMsg(final String msg) { System.out.println(Thread.currentThread().getName() + " 客户端给服务端发送了一个消息"); new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " 消息经过了3秒传到了服务端"); server.getClientMsg(Client.this, msg); } }).start(); System.out.println(Thread.currentThread().getName() + " 客户端发送消息成功了"); while (bol) { System.out.println(Thread.currentThread().getName() + " 客户端继续向下执行"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println(Thread.currentThread().getName() + " 客户端停止执行"); } @Override public void process(String status) { try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " 经过了3秒,客户端收到了服务端返回的消息"); System.out.println(Thread.currentThread().getName() + " 收到了消息就让客户端下班吧!"); bol = false; }}
public class Main { public static void main(String[] args) { Server server = new Server(); Client client = new Client(server); client.sendMsg("Hello World"); }}
main 客户端给服务端发送了一个消息
main 客户端发送消息成功了
main 客户端继续向下执行
main 客户端继续向下执行
main 客户端继续向下执行
main 客户端继续向下执行
Thread-0 消息经过了3秒传到了服务端
main 客户端继续向下执行
main 客户端继续向下执行
main 客户端继续向下执行
main 客户端继续向下执行
main 客户端继续向下执行
Thread-0 服务端对消息处理了5秒
main 客户端继续向下执行
main 客户端继续向下执行
main 客户端继续向下执行
Thread-0 经过了3秒,客户端收到了服务端返回的消息
Thread-0 收到了消息就让客户端下班吧!
main 客户端停止执行
阅读全文
0 0
- 看一个接口回调的例子
- 接口回调的例子
- 一个小例子看编程的扩展性
- 一个简单的例子,看明白this
- 一个例子让你彻底理解java接口回调
- 一个面向接口编程的好例子
- 一个面向接口编程的好例子
- 一个面向接口编程的好例子
- 一个面向接口编程的好例子
- 一个使用 seq_file 接口的 proc_fs 例子
- c#接口简单易懂的一个例子
- 接口理解的一个小例子
- 一个实现 IFormattable 接口的例子
- 面向接口编程的一个小例子
- 一个使用 seq_file 接口的 proc_fs 例子
- 面向接口编程的一个例子
- 一个API接口的例子,包括单元测试
- 接口声明变量的一个实际例子
- Linux —— Vim的暂存档(恢复文件内容)
- 文章标题
- Leetcode题解-18. 4Sum
- AngularJs实现表格点击不同字段排序的功能
- Nginx初探
- 看一个接口回调的例子
- mxGraph节点图形设置
- STC12单片机实现自动下载程序
- 内网穿透利器——frp
- java(十二):线程池和ThreadPoolExecutor
- z2
- Vision_MATH_(扩展)欧几里得
- 面试心得
- 一个倒三角形接一个正三角形