什麼是Callback
簡單地說,回調就是作爲參數傳遞到另外一個方法中的一段可執行代碼。這種機制允許較低層的軟件或庫調用其上層的例程或函數。它常常作爲異常處理和狀態數據收集的一種手段,也可以作爲一種事件處理機制。在異步環境下,如ajax技術中,可以利用回調將後臺服務器處理後的結果數據顯示在頁面上。
Callback實現方法
C和C++語言中是把函數指針作爲參數傳遞到另外一個函數中;
一些解釋執行的語言則是通過函數名稱傳遞來實現回調;
Java語言是通過藉口來實現回調功能;
例子
該例子用回調來處理POSIX風格的信號。
#include <stdio.h> #include <signal.h> void * sig(int signum) { printf("Received signal number %d!/n", signum); } int main(int argc, char *argv[]) { signal(SIGUSR1,&sig); //&sig取函數指針作爲signal參數,當信號產生時,程序回調sig()函數 while(1){}; return 0; }