|Design| 非同步的施工方式:等待,Callback,Polling

這篇文章是名詞解釋,不涉及同步及非同步的概念解說。

剛入行時,完全不懂 Polling 是什麼意思。查字典會發現解釋為:投票?
不能理解阿阿阿!!!
不過後來程式看久比較懂一點點點。(系統場優點之一:拿到晶片廠的程式碼都是高手寫的 XD)

非同步的設計,要如何問到資料呢?

1. 等待:
就是 …… 都不做事,等在那邊直到有結果 XD

2. Callback:在 C/C++ 會利用 function pointer,寫成 callback function(A),以參數的方式傳入需要用到此函式(A)的函式(X)。等到函式X 執行到需要使用 A的動作時,才會啟動 A。由於在 A需要呼叫 callback 時所需要的東西是固定的(就是在設計 A 時候寫的參數),能給的東西也是固定的!

可以參考:
CallBack Function
|Code| 使用 function pointer 建立 Handler

3. Polling:就是一直去問,問到得到答案為止。
缺點很明顯:浪費力氣,浪費資源。
優點 …… 很好寫(?


ref. 程式設計該同步還是非同步?