zoukankan      html  css  js  c++  java
  • Java callback回调

    package com.callback;
    
    public interface CSCallBack {
      public void process(String status);
    }
    package com.callback;
    
    
    public class Client implements CSCallBack {
    
      private Server server;
    
      public Client(Server server) {
          this.server = server;
      }
    
      public void sendMsg(final String msg){
          System.out.println("客户端:发送的消息为:" + msg);
          new Thread(new Runnable() {
              @Override
              public void run() {
                  server.getClientMsg(Client.this,msg);
              }
          }).start();
          System.out.println("客户端:异步发送成功");
      }
    
      @Override
      public void process(String status) {
          System.out.println("客户端:服务端回调状态为:" + status);
      }
    }
    package com.callback;
    
    public class Server {
    
      public void getClientMsg(CSCallBack csCallBack , String msg) {
          System.out.println("服务端:服务端接收到客户端发送的消息为:" + msg);
    
          // 模拟服务端需要对数据处理
          try {
              Thread.sleep(5 * 1000);
          } catch (InterruptedException e) {
              e.printStackTrace();
          }
          System.out.println("服务端:数据处理成功,返回成功状态 200");
          String status = "200";
          csCallBack.process(status);
      }
    }
    package com.callback;
    
    public class CallBackTest {
      public static void main(String[] args) {
          Server server = new Server();
          Client client = new Client(server);
    
          client.sendMsg("Server,Hello~");
      }
    }
  • 相关阅读:
    Cglib的动态代理
    idea中隐藏.idea文件夹和.iml文件
    JDBC工具类创建及使用
    JDBC的配置及使用入门
    mybatis的入门
    动态代理的具体实现
    【Flask】WTForms基本使用
    【Flask】Flask-Migrate基本使用
    【Flask】Flask-Sqlalchemy使用笔记
    【Flask】Sqlalchemy 子查询
  • 原文地址:https://www.cnblogs.com/gaojy/p/7171444.html
Copyright © 2011-2022 走看看