尚學堂百戰程式設計師:java之異步回調

一、什麼是回調

回調,回調。要先有調用,才有調用者和被調用者之間的回調。所以在百度百科中是這樣的:

軟件模塊之間總是存在著一定的接口,從調用方式上,可以把他們分為三類:同步調用、回調和異步調用。

回調是一種特殊的調用,至於三種方式也有點不同。

1、同步回調,即阻塞,單向。

2、回調,即雙向(類似自行車的兩個齒輪)。

3、異步調用,即通過異步消息進行通知。

尚學堂百戰程序員:java之異步回調

現在以一個CS結構的示例來說明回調的過程:

Client類:

複製代碼

package com.test.callback;

/**

* Created by puyangsky on 2016/6/13.

*/

public class Client {

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() {

try {

//調用server類的獲取消息方法,並且傳入myCallback對象

server.getMsg(new myCallback(), msg);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}).start();

}

//實現Callback接口

private class myCallback implements Callback {

@Override

public void process(int status) {

System.out.println("處理成功,返回狀態為:" + status);

}

}

}

複製代碼

回調接口類:

interface Callback {

void process(int status);

}

上述代碼完成的過程是模擬異步回調,回調分為同步和異步,區別就是需不需要等待服務器端的返回結果。

“我們相信人人都可以成為一個IT大神,現在開始,選擇一條陽光大道,助你入門,學習的路上不再迷茫。這裡是北京尚學堂,初學者轉行到IT行業的聚集地。"


分享到:


相關文章: