linux 實現簡單定時器的功能

2021-05-27 13:48:37 字數 739 閱讀 6694

對於程式中需要定時去check某些變數或者function返回結果的功能,最早就是用最簡單的sleep()的一行語句,雖然可以實現,但是需要主程式一直等待一段時間,無論是否提前有返回值。

後面就想到可以用time()來實現相同的功能,和sleep不同的地方就是,如果check到有返回,可以立即break,不用於一直在wait狀態。

簡單**如下:

#include

#include

main()

int resp;

time_t starttime = time(0);

usleep(1000);// wait 1s for return data;

while(1)

if (time(0)-starttime >10) //define 10s time out

fprintf(stderr, "time out\n");

return 0;

if(get_data(&resp) == true) //get data?

break;

if (resp == get_ok)

fprintf(stderr, "get ok\n");

}else if (resp == get_invalid)

fprintf(stderr, "get invalid\n");

else

fprintf(stderr, "get error\n");

return 0;

簡單定時器實現

經常會遇到這樣的功能,需要開闢乙個執行緒同時迴圈的跑乙個任務,下面是簡單實現的 呼叫select 加超時時間 include include include include include void thread client timeout const void arg printf time o...

用PHP實現定時器功能

以前只知道用js能實現定時器功能,而且很方便,但今天做專案過程中要實現個功能模組,做到其中某部分時,心想要是可以通過php來實現個定時器功能就好了,於是在網上找了找,發現用gnore user abort 函式配合set time limit 函式 和乙個死迴圈就可以實現類似功能。雖然專案最終未使用...

Python如何實現定時器功能

timer 隔一定時間呼叫乙個函式,如果想實現每隔一段時間就呼叫乙個函式的話,就要在timer呼叫的函式中,再次設定timer。timer是thread的乙個派生類 python中的執行緒提供了j a執行緒功能的子集。usr bin env python from threading import ...