epoll機制(與之相對應的還有select 機制)
bionic/libc/include/sys/epoll.h
#define epoll_ctl_add 1
#define epoll_ctl_del 2
#define epoll_ctl_mod 3
#define epoll_cloexec o_cloexec
typedef union epoll_data epoll_data_t;
struct epoll_event
#ifdefx86_64
__packed
#endif
;int epoll_create(int); //建立epoll控制代碼
int epoll_create1(int);
int epoll_ctl(int, int, int, struct epoll_event*);//控制某個epoll檔案描述符上的事件,可以註冊事件,修改事件,刪除事件
int epoll_wait(int, struct epoll_event*, int, int);//等待事件觸發,當超過timeout還沒有事件觸發時,就超時
int epoll_pwait(int, struct epoll_event*, int, int, const sigset_t*);
__end_decls
#endif /* sys_epoll_h */
使用示例:
frameworks/base/services/core/jni/com_android_server_alarmmanagerservice.cpp
epollfd = epoll_create(n_android_timerfds);
epoll_ctl(epollfd, epoll_ctl_del, fds[i], null);
int alarmimpltimerfd::waitforalarm()
int result = 0;
for (int i = 0; i < nevents; i++) else
} else
}return result;
}close(epollfd);
安卓系統之uevent 機制
uevnet 介紹 uevent是android核心空間與使用者空間進行通訊的一種方式,其本質是通過netlink 通過socket 傳送訊息給使用者程序,使用場景 熱插拔 一uevent 程序的啟動流程 1.system core init init.cpp main if strcmp base...
安卓的handler機制
一 定義 handler是訊息處理的機制,很多耗時的操作,如訪問網路 i o操作等不能在主線程中執行,而這些操作又與ui的變化相關聯。常常採用由子執行緒完成操作,傳送訊息使切換到主線程更新ui的辦法。當然也可以用來獲取資料等。與handle相關的類 message 訊息 messagequeue 訊...
180725 安卓 簽名機制
傳送者將公鑰公開,對於傳送資料的資訊摘要用私鑰加密 接受者用公鑰解密該內容,與接收資料的資訊摘要進行對比 從而保證 1.接收到的資料與發布資料相同 2.傳送者是公開公鑰的私鑰持有人 與https相同,公鑰必須可信才有意義 因此簽名也需要攜帶乙個由可信ca機構簽發的證書,證明該公鑰來自可信的傳送者 s...