多線程通信之接口回調
阿新 • • 發佈:2019-05-12
() rgs 通信 ssa turn nds 數據 oid static
多線程通信之接口回調
接口回調:就是將接口作為另一個類的方法中的參數進行傳遞,再將結構回傳給調用者。
一般傳遞接口的匿名實現類
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
多線程通信之接口回調