Java回撥機制(非同步)
阿新 • • 發佈:2019-01-03
什麼是回撥?今天傻傻地截了張圖問了下,然後被陳大牛回答道“就一個回撥…”。此時千萬個草泥馬飛奔而過(逃
哈哈,看著原始碼,享受著這種回撥在程式碼上的作用,真是美哉。不妨總結總結。
一、什麼是回撥
回撥,回撥。要先有呼叫,才有呼叫者和被呼叫者之間的回撥。所以在百度百科中是這樣的:
軟體模組之間總是存在著一定的介面,從呼叫方式上,可以把他們分為三類:同步呼叫、回撥和非同步呼叫。
回撥是一種特殊的呼叫,至於三種方式也有點不同。
1、同步回撥,即阻塞,單向。
2、回撥,即雙向(類似自行車的兩個齒輪)。
3、非同步呼叫,即通過非同步訊息進行通知。
二、CS中的非同步回撥(java案例)
比如這裡模擬個場景:客戶端傳送msg給服務端,服務端處理後(5秒),回撥給客戶端,告知處理成功。程式碼如下:
回撥介面類:
?1 2 3 4 5 6 7 8 |
/**
*
@author Jeff Lee
*
@since 2015-10-21 21:34:21
*
回撥模式-回撥介面類
*/
public
interface
CSCallBack {
public
void
process(String status);
} |
模擬客戶端:
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
/**
*
@author Jeff Lee
*
@since 2015-10-21 21:25:14
*
回撥模式-模擬客戶端類
*/
public
class
Client |