|
发表于 2004-4-29 19:33:18
|
显示全部楼层
Re: 定时器的问题。
[quote:6c0f021bb7="whutxuan"]alarm的问题!
#include <sys/times.h>
#include <sys/signal.h>
#include <stdio.h>
void test1()
{
printf("test1\r\n");
}
void test2()
{
printf("test2\r\n");
}
void main()
{
signal(SIGALRM, test1);
alarm(1);
sleep(1000);
signal (SIGALRM,test2);
}
这个函数只输出一个test1后就结束了,为什么呢.
sleep(100)有100秒的时间,在这个期间,可以执行多次test1(),为什么之后一次输出呢?[/quote]
alarm(1); 设置定时器
然后sleep(1000);
一秒后进程收到SIGALRM信号,sleep返回。
signal (SIGALRM,test2);设置信号处理器后没有时间再等到下一个SIGALRM进程就会结束
所以只有一个输出 |
|