zoukankan      html  css  js  c++  java
  • 多线程通信之接口回调

    多线程通信之接口回调

    接口回调:就是将接口作为另一个类的方法中的参数进行传递,再将结构回传给调用者。
    一般传递接口的匿名实现类

    	public static void main(String[] args) {
    		AThread a = new AThread();
    		a.setName("A");
    		a.start();
    		
    	}
    }
    	//调用者A
    class AThread extends Thread {
    	@Override
    	public void run() {
    		
    		BThread b = new BThread();
    		b.setName("B");
    				//传递接口匿名实现类
    		b.setCb(new ICallBack() {
    			
    			@Override
    			public int fun(int a, int b, String message) {
    				int sum = a + b;
    				System.out.println("收到了来自于B线程的消息: " + message);
    				return sum;
    			}
    		});
    		//回调
    		b.start();
    
    	}
    }
    
    class BThread extends Thread {
    	
    	private ICallBack cb;
    	
    	public BThread() {}
    	
    	public BThread(String name, ICallBack cb) {
    		super(name);
    		this.cb = cb;
    	}
    	
    	public void setCb(ICallBack cb) {
    		this.cb = cb;
    	}
    	
    	@Override
    	public void run() {
    
    		// 这里你想要传递什么数据就通过实参,实参你可以自己任意的确定 B->A
    		int result = cb.fun(10, 20, "我是线程B带过来两个整数数据");
    		// 这里的result是 A线程【调用者】传递给B线程 A->B
    		System.out.println("收到了来自于A线程的数据: " + result);
    	}
    	
    }
    
    // 回调接口
    interface ICallBack {
    	int fun(int a, int b, String message);
    }
    

    以上

    @Fzxey

  • 相关阅读:
    浅谈javascript中一些与DOM元素相关的属性名词
    一个弹出层插件
    模仿京东商城的一个图片轮播
    jQuery设计思想
    模仿自动完成效果
    linux下如何用GDB调试c++程序(转)
    Linux makefile 教程
    boost库解析
    记一次MongoDB性能问题,附原理解析
    深入分析Linux内核源码
  • 原文地址:https://www.cnblogs.com/fzxey/p/10850108.html
Copyright © 2011-2022 走看看