当前位置:  技术问答>linux和unix

菜鸟求助关于定时器的问题

    来源: 互联网  发布时间:2015-10-20

    本文导语:  由于初次接触LINUX,有许多不明之处。情况如下: 我要实现几个间隔定时器,当时间间隔时我都会用消息队列把间隔到的消息发给其他的进程来通知间隔到。 一个进程有多个间隔定时器该怎么实现啊? 当一个进程有...

由于初次接触LINUX,有许多不明之处。情况如下:
我要实现几个间隔定时器,当时间间隔时我都会用消息队列把间隔到的消息发给其他的进程来通知间隔到。
一个进程有多个间隔定时器该怎么实现啊?
当一个进程有多个定时器时是不是用setitimer和sigaction就不行了呀?
请问哪位大侠有高招啊? 在网上找了好久都没有找到
在些谢谢各位了呀!

|
给个例子:
//  *********************************************************************
//  Function    :   TimeCount()
//  Description :   When timer arrived and accept the signal,time count will
//                  add itself.
//  Arguments   :   integer signal number.
//  Return      :   none
//  Side Effect :
//  *********************************************************************
static void TimeCount(int signo)
{
    ++DelayCount;
    ++RecvDLECount;
}

//  *********************************************************************
//  Function    :   TimeStart()
//  Description :   Timer start to counting time.When time arrived,it will 
//                  call signal function.
//  Arguments   :   integer sec and integer usec for start time;integer
//                  i_sec and integer i_usec for interval time.
//  Return      :   none
//  Side Effect :
//  *********************************************************************
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);
}

判断DelayCount、RecvDLECount的值可以实现定时功能。
以前项目中用到的函数,参考一下吧。

|
UP

    
 
 

您可能感兴趣的文章:

  • 菜鸟 请问一个定时器的问题
  • 菜鸟求助,solaris下计算问题求助
  • 菜鸟的问题:求助,关于red hat linux 引导程序
  • 菜鸟求助...设定环境变量
  • 菜鸟求助:如何在 JAVA APPLET 里感知到鼠标的双击消息?
  • 菜鸟求助
  • 菜鸟求助:如何让自己编的小程序,开机自动运行?
  • 50分 求助弱问题-------------------[ 菜鸟的呼声 ]
  • 菜鸟求助,十万火急!
  • 菜鸟求助,我下了一个MozillaFirebird,解压后怎么运行啊?
  • ##菜鸟紧急求助##
  • 菜鸟求助:输入命令回车显示的是乱码?
  • 菜鸟求助超级基础的问题—进制转换
  • 菜鸟求助 SHELL编
  • 菜鸟求助!!!
  • 菜鸟求助:Linux安装完了不能上网,SOS?
  • 菜鸟求助:Linux 应用程序后台启动后关闭窗口程序退出
  • shell脚本编写!菜鸟求助
  • 菜鸟求助linux最最基本的HELLO函数错误
  • 菜鸟求助:linux虚拟机无法mount主机目录
  • 菜鸟求助!有关linux安装问题!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 菜鸟求助!!! iis7站长之家
  • 菜鸟问一个关于j2ee的菜鸟问题
  • 怎样从一个菜鸟级的java programer升级到一个菜鸟级的java developer
  • 一个连菜鸟都算不上的菜鸟
  • 菜鸟求问菜鸟问题 ,域名绑定
  • ===菜鸟系列===:写过毕业论文的前辈请进!!!菜鸟散分啦!!!!
  • gcc问题---菜鸟发问之一,老大们帮忙啊!!菜鸟分不多,只好给这点了,对不起!!
  • 菜鸟又来问菜鸟问题了
  • 菜鸟的Linux练习疑问……
  • 菜鸟刚学jsp,还不知道怎么和sql server2000的数据库相连,我已经把odbc配好了,谁能给我一段和数据库相连的并显示所有数据的代码!菜鸟
  • 菜鸟提问,我怎么装redhat7。1
  • 菜鸟写的俄罗斯方块,请多多批评!
  • 小问题,你一定能够帮忙!——菜鸟请求帮忙!!
  • 一个菜鸟的请求: 哪位前辈能给晚辈讲讲“匿名类”
  • ※菜鸟送分之一※ Red Hat Linux 的最高版本是多少?
  • 菜鸟问题:在Java中如何接收从键盘输入的字符串?
  • ★菜鸟问:怎么在RED HAT LINUX7.2中用169上网??
  • 菜鸟提问:包是什么概念?
  • 菜鸟问题~~快点进来拿分
  • 菜鸟菜问题1


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3