Linux下实现定时器功能

来源:互联网 发布:地域黑网络弹幕流行 编辑:程序博客网 时间:2024/06/05 18:32
 利用信号量来实现定时器的功能。

void sigwizardroutine(int signo)
{
 switch (signo)
 {
 case SIGALRM:
  if(g_hSigWizardWnd != 0)
  {
     DlgSetGuide.controls = CtrlSetGuide;
     DialogBoxIndirectParam(&DlgSetGuide, g_hSigWizardWnd, DialogSetGuideProc, 0L);
  }
  break;
 default:
  printf("default \n");
  break;
 }
 
 return ;
}

void SetWizardTimer()
{
   signal(SIGALRM, sigwizardroutine);

   struct itimerval value,ovalue;
   value.it_value.tv_sec = 1;
   value.it_value.tv_usec = 0;
   value.it_interval.tv_sec = 0;
   value.it_interval.tv_usec = 0;
   setitimer(ITIMER_REAL, &value, &ovalue);
}
//

 

 

在主线程中调用g_hSigWizardWnd = hDlg;  
     SetWizardTimer();

 

 

需要包含的头文件: #include <signal.h>
#include <sys/time.h>

原创粉丝点击