[英]blocking/non-blocking timer in C
這可能是一個經常重復的問題,對不起再把它帶回來。 我無法找到解決方案:(。我正在Linux中用C語言編寫VM監控代碼。我希望每隔10秒獲取所有VM的讀寫次數。是否有任何C庫提供此功能(定時器)單獨),阻塞/非阻塞計時器無所謂。謝謝!!
此致,Sethu
對於非阻塞計時器(在POSIX系統上),使用alarm
:
int main(void) {
signal(SIGALRM, monitor);
monitor(0);
/* ... */
}
void monitor(int signal) {
/* ... */
alarm(10);
}
但是,對於一個阻擋計時器,使用sleep
如拉里說明。
sleep(10);
將使線程在unix系統中休眠10秒。 在帶有監控代碼的循環中使用它,你很高興。 如果您使用Windows作為監視主機,則sleep函數將在幾毫秒內接受。
此外,由於需要多線程/多處理,實現將根據os / platform而變化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.