当前位置: 技术问答>linux和unix
linux下怎么实现用一个进程里多个定时器?
来源: 互联网 发布时间:2014-12-17
本文导语: 我知道要用多线程,用队列管理,可怎么实现类似vc中CreateEvent和WaitForMultipleObjectsEx()等功能的东东?好像要用到信号量,但我这里添加的事件是多少不确定阿?要用多少信号量? | 用一个无符号整形做个...
我知道要用多线程,用队列管理,可怎么实现类似vc中CreateEvent和WaitForMultipleObjectsEx()等功能的东东?好像要用到信号量,但我这里添加的事件是多少不确定阿?要用多少信号量?
|
用一个无符号整形做个事件标志入flag,该flag每一位表示一个事件,并且用一个循环实现事件的判断,在用信号量进行事件通告,当受到信号量后,判断flag各个位,是不是你要的事件,如果存在,就清除相应的事件位,并推出循环处理下面的程序
过程:
while(1)
{
waitforsemaphore();
check flag
if has evnet
{
clsrset(flag); //clear flag event bit
break;
}
}
过程:
while(1)
{
waitforsemaphore();
check flag
if has evnet
{
clsrset(flag); //clear flag event bit
break;
}
}
|
用struct timer不能实现么?定义多多少个好象没有限制的~