1. 程式人生 > >Java回撥機制(非同步)

Java回撥機制(非同步)

什麼是回撥?今天傻傻地截了張圖問了下,然後被陳大牛回答道“就一個回撥…”。此時千萬個草泥馬飛奔而過(逃

哈哈,看著原始碼,享受著這種回撥在程式碼上的作用,真是美哉。不妨總結總結。

一、什麼是回撥

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

軟體模組之間總是存在著一定的介面,從呼叫方式上,可以把他們分為三類:同步呼叫、回撥和非同步呼叫

回撥是一種特殊的呼叫,至於三種方式也有點不同。

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