由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教一个linux下的POSIX timer的问题。
相关主题
一道 memset in C++的题多线程的程序设计有什么好书推荐? (转载)
some c++ question.请问这些问题应该在那种书上找到答案?
一个很诡异的ifstream问题,求助~~C++11 native thread问题
Question about memset() and memmove() size limitnode callback的误解
请教 C/C++ 指向多维数组的指针的问题C语言,结构体转字符串。简单的难题
学习multi threading, 有什么好书?看到python的multiprocessing心中一痛
pthread and C++Pthread support on Windows XP
Linux thread和NPTL thread什么关系? (转载)help on pthreads.....
相关话题的讨论汇总
话题: timer话题: tid1话题: settime话题: time话题: int
进入Programming版参与讨论
1 (共1页)
d**d
发帖数: 389
1
我用linux下面的POSIX timer, timer_create(),timer_settime(),
为什么在调用了timer_settime()以后,立马就有一个time-out callback? 然后再每过
5秒后有一个time out?
难道不是我调用timer_settime()以后,timer开始计时, 等到5秒以后再出现第一
time out callback 吗?
非常感谢!
代码如下:
#include
#include
#include
#include
#include
void
handle (sigval_t v)
{
time_t t;
char p[32];
time (&t);
strftime(p,sizeof(p),"%T ",localtime(&t));
printf("%s thread 0x%x,val=%d,signal captured.\n",p,pthread_self(),
v.sival_int);
return;
}
timer_t tid1;
timer_t create_timer(int id)
{
struct sigevent se;
memset(&se,0,sizeof(se));
se.sigev_notify = SIGEV_THREAD;
se.sigev_notify_function = handle;
se.sigev_value.sival_int = id;
if(timer_create(CLOCK_REALTIME,&se,&tid1) < 0)
{
perror("timer_creat");
return -1;
}
printf( "timer_create successfully.\n");
return tid1;
}
int set_timer(timer_t id, long time)
{
struct itimerspec ts, ots;
ts.it_value.tv_sec =time;
ts.it_value.tv_nsec =0;
ts.it_interval.tv_sec=time;
ts.it_interval.tv_nsec=0;
if(timer_settime(id,TIMER_ABSTIME,&ts,&ots)<0)
{
perror( "timer_settime");
return -1;
}
}
int stop_timer(timer_t id)
{
set_timer(id,0);
}
int
main(void)
{
tid1=create_timer(1);
set_timer(tid1,5);
for(;;)
t****t
发帖数: 6806
2
because you used TIMER_ABSTIME.

【在 d**d 的大作中提到】
: 我用linux下面的POSIX timer, timer_create(),timer_settime(),
: 为什么在调用了timer_settime()以后,立马就有一个time-out callback? 然后再每过
: 5秒后有一个time out?
: 难道不是我调用timer_settime()以后,timer开始计时, 等到5秒以后再出现第一
: time out callback 吗?
: 非常感谢!
: 代码如下:
: #include
: #include
: #include

1 (共1页)
进入Programming版参与讨论
相关主题
help on pthreads.....请教 C/C++ 指向多维数组的指针的问题
同步编程真郁闷学习multi threading, 有什么好书?
Node.js 并发模型相关:closure 中 access mutable variablepthread and C++
尼玛 callback 真是反人类Linux thread和NPTL thread什么关系? (转载)
一道 memset in C++的题多线程的程序设计有什么好书推荐? (转载)
some c++ question.请问这些问题应该在那种书上找到答案?
一个很诡异的ifstream问题,求助~~C++11 native thread问题
Question about memset() and memmove() size limitnode callback的误解
相关话题的讨论汇总
话题: timer话题: tid1话题: settime话题: time话题: int