当前位置: 技术问答>linux和unix
求在HP_Unix中的设置定时器的多种方法
来源: 互联网 发布时间:2015-06-22
本文导语: 求在HP_Unix中的设置定时器的多种方法,方法多而精,分愈高。 | 给个例子: static void TimeCount(int signo) { int i; ++DelayCount; ++RecvDLECount; } void TimeStart(int sec,int usec,int...
求在HP_Unix中的设置定时器的多种方法,方法多而精,分愈高。
|
给个例子:
static void TimeCount(int signo)
{
int i;
++DelayCount;
++RecvDLECount;
}
void TimeStart(int sec,int usec,int i_sec,int i_usec)
{
struct sigaction TimeSignal;
struct itimerval ivalue,ovalue;
TimeSignal.sa_handler = TimeCount;
sigemptyset(&TimeSignal.sa_mask);
TimeSignal.sa_flags = 0;
sigaction(SIGALRM,&TimeSignal,NULL);
ivalue.it_interval.tv_sec = sec;
ivalue.it_interval.tv_usec = usec;
ivalue.it_value.tv_sec = i_sec;
ivalue.it_value.tv_usec = i_usec;
setitimer(ITIMER_REAL,&ivalue,&ovalue);
}
static void TimeCount(int signo)
{
int i;
++DelayCount;
++RecvDLECount;
}
void TimeStart(int sec,int usec,int i_sec,int i_usec)
{
struct sigaction TimeSignal;
struct itimerval ivalue,ovalue;
TimeSignal.sa_handler = TimeCount;
sigemptyset(&TimeSignal.sa_mask);
TimeSignal.sa_flags = 0;
sigaction(SIGALRM,&TimeSignal,NULL);
ivalue.it_interval.tv_sec = sec;
ivalue.it_interval.tv_usec = usec;
ivalue.it_value.tv_sec = i_sec;
ivalue.it_value.tv_usec = i_usec;
setitimer(ITIMER_REAL,&ivalue,&ovalue);
}
|
用select。
struct timeval tv
tv.tv_sec = //你要的秒数
tv.tv_usec = //微秒
select(0,NULL,NULL,NULL,tv);
pselect好像可以实现到纳秒
struct timeval tv
tv.tv_sec = //你要的秒数
tv.tv_usec = //微秒
select(0,NULL,NULL,NULL,tv);
pselect好像可以实现到纳秒
|
1.signal
2.select
2.select
|
up
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。