一、什麼是回調
回調,回調。要先有調用,才有調用者和被調用者之間的回調。所以在百度百科中是這樣的:
軟件模塊之間總是存在著一定的接口,從調用方式上,可以把他們分為三類:同步調用、回調和異步調用。
回調是一種特殊的調用,至於三種方式也有點不同。
1、同步回調,即阻塞,單向。
2、回調,即雙向(類似自行車的兩個齒輪)。
3、異步調用,即通過異步消息進行通知。
![尚學堂百戰程序員:java之異步回調](http://p2.ttnews.xyz/loading.gif)
現在以一個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行業的聚集地。"
閱讀更多 北京尚學堂Java學院 的文章