linux下利用select製作一個毫秒級的定時器

目的:

在linux中可以利用select同時監聽多個sockect,從而實現大部分的異步操作,反過來我們可以利用他的超時機制來實現定時功能;

實現:

該功能較簡單,就直接上代碼了,需要的時候直接使用即可;

/*==================================================================

* Function: TIMER_WaitMs

* Description: 等待一段時間 單位 ms

* Input Para:

* Output Para:

* Return Value:

==================================================================*/

int TIMER_WaitMs(int iWaitTime)

{

struct timeval tv;

int retval, max_sock;

fd_set rfds;

tv.tv_sec = iWaitTime/1000;

tv.tv_usec = (iWaitTime % 1000)*1000;

FD_ZERO(&rfds);

max_sock = 0;

retval = select(max_sock + 1, &rfds, NULL, NULL,&tv);

return 0;

}


分享到:


相關文章: