免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2444 | 回复: 9
打印 上一主题 下一主题

[C++] 我想写个定时器,在c++ 下,不知道怎么入手, [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-26 20:01 |只看该作者 |倒序浏览
定时器能起多个,比如10秒,20秒,15秒可以关闭,互不干扰,

论坛徽章:
0
2 [报告]
发表于 2003-05-26 21:36 |只看该作者

我想写个定时器,在c++ 下,不知道怎么入手,

不可以实现
一个进程只能有一个定时器

如果像你那样写的话
只能使用多线程
一个线程专门负责管理定时器

论坛徽章:
0
3 [报告]
发表于 2003-05-27 09:31 |只看该作者

我想写个定时器,在c++ 下,不知道怎么入手,

那要怎么实现,我对线程不熟悉,无双大哥能不能给点列子看看

论坛徽章:
0
4 [报告]
发表于 2003-05-27 09:40 |只看该作者

我想写个定时器,在c++ 下,不知道怎么入手,

无双兄写道
不可以实现
一个进程只能有一个定时器

如果像你那样写的话
只能使用多线程
一个线程专门负责管理定时器

还请无双兄给出示例伪码

论坛徽章:
0
5 [报告]
发表于 2003-05-27 09:42 |只看该作者

我想写个定时器,在c++ 下,不知道怎么入手,

建议你看看advanced Linux programming中
pthread

论坛徽章:
0
6 [报告]
发表于 2003-05-28 11:31 |只看该作者

我想写个定时器,在c++ 下,不知道怎么入手,

可以给你一个例子参照一下,如下:
#include <time.h>;
#include <stdio.h>;

#define TIMELONG 2

int main(void)
{
   time_t t1, t2;
   double  Diff = 0;
   int     i = 0;
   
   /*获取系统当前时间*/
   t1 = time(NULL);
   
   /*循环运行十次*/
   while(i < 10)
   {
           /*以秒为单位获取系统当前时间*/
           t2 = time(NULL);
          
           /*比较第二次获取的时间与第一次的时间是不是间隔了两秒*/
           Diff = difftime(t2,t1);
          
           /*间隔两秒打印Diff和i*/
           if((int)Diff == TIMELONG)
           {
                   printf("The difference is: %d, i is: %d \n",(int)Diff, i);
                   t1 = t2;
                   i++;
           }          
                     
   }
   
  return 0;
}
以后可照这个例子修改一下,不过最好自己好好想想该怎么写

论坛徽章:
0
7 [报告]
发表于 2003-05-28 18:40 |只看该作者

我想写个定时器,在c++ 下,不知道怎么入手,

楼上的例子很简单
我想你可以参考一下的

论坛徽章:
0
8 [报告]
发表于 2003-05-29 09:40 |只看该作者

我想写个定时器,在c++ 下,不知道怎么入手,

谢谢!不过我更想看一下多线程模式下多定时器的实现方式。还是有劳无双和键盘兄给出点伪码示例,多谢

论坛徽章:
0
9 [报告]
发表于 2003-05-29 10:07 |只看该作者

我想写个定时器,在c++ 下,不知道怎么入手,

我想:进程也可以用agoodboy的方式,只能设置一个SIGALARM中断,每次进去判断时间间隔
但是无双所说的专门用一个线程来管理是否也是这样实现,线程也不可以用多个signal(SIGALRM。。。的吧

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
10 [报告]
发表于 2003-05-29 11:12 |只看该作者

我想写个定时器,在c++ 下,不知道怎么入手,

只要所有线程的SIGALRM响应函数是一个就没有问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP