ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

I/O²Ù×÷ÉÏÉèÖó¬Ê±Ö®alarmÄÖÖÓ·¨
2014-11-24 08:20:29 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:0´Î
Tags£ºI/O ²Ù×÷ ÉèÖà ³¬Ê± alarm ÄÖÖÓ

µ÷Óà alarm£¬ËüÔÚÖ¸¶¨³¬Ê±ÆÚÂúʱ²úÉúSIGALRMÐźš£Õâ¸ö·½·¨Éæ¼°ÐźŴ¦Àí¡£


Ó÷¨£º


alarm(time):TIME¾ÍÊÇÖ¸¶¨µÄ³¬Ê±ÆÚ£»Èç¹û֮ǰÉèÓг¬Ê±ÆÚ£¬alarm()»á·µ»ØÆäʱÆÚµÄÊ£ÓàÖµ£»


signal(SIGALARM, connect_alarm):Ö¸¶¨connect_alarmº¯ÊýÊÇʱÖÓÆÚÂúʱµÄ´¦Àíº¯Êý£»


º¯ÊýÍ˳öǰҪ¹Ø±ÕʱÖÓ£º


Sigfunc *sigfunc;


sigfunc=signal(SIGALARM, connect_alarm);//±£´æÐźÅSIGALARMµÄԭʼ´¦Àíº¯Êý


alarm(0);//¹Ø±ÕʱÖÓ


signal(SIGALARM, sigfunc);//»Ö¸´SIGALARMÐźŵÄԭʼ´¦Àíº¯Êý


Ñ­»·¿ªÆôÄÖÖӺ͹رÕÄÖÖÓ£º


Sigfunc *sigfunc;


sigfunc=signal(SIGALARM, connect_alarm);


alarm(2);//ÒÔÉÏÊÇ¿ªÄÖÖÓ


for(;;){


if(A==terminate clock forerver){


alarm(0);


signal(SIGALARM, sigfunc);


}else if(B==turn up the clock again){


alarm(0);


sigfunc=signal(SIGALARM, connect_alarm);


alarm(2);


}else


do noting....


}


Èç¹û·ûºÏÌõ¼þBµÄ»°£¬ÄÖÖÓÒªÖØÐ¿ªÆô£¬ÕâÀïÒªÏȹØÁË£¬ÔÙÖØÐÂÉèÖÃÄãÆÚÍûµÄ´¦Àíº¯Êý£¬È»ºóÔÙÉ趨ʱ¼ä¡£Èç¹û¹âÊǼòµ¥µÄÖØÐÂÉ趨ʱ¼äµÄ»°£¬³ÌÐòÔÙÐÂÄÖÖÓ³¬Ê±Ê±»áÖ±½ÓÌø³öforÑ­»·£¬½áÊø³ÌÐò¡£ÒòΪÕâÊÇĬÈÏ´¦Àíº¯Êý£¬Èç¹ûÄãÖØÉèÖÃÄÖÖÓʱ²»¸øÓè×Ô¶¨ÒåµÄ´¦Àíº¯Êý£¬»áÖ±½ÓÍ˳öº¯Êý£¬ºó¹û²»¿É¹À¼ÆµÄ¡£


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£º×îÍêÕûµÄAndroidÔ´Âë»ñÈ¡·½·¨¼°»·.. ÏÂһƪ£ºLinux ³ÌÐòÐźŴ¦Àí

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Spring Boot Java£º (2025-12-26 16:20:19)
¡¤Spring Boot¤ÇHello (2025-12-26 16:20:15)
¡¤Spring ¤Î»ù±¾¤«¤éŒ (2025-12-26 16:20:12)
¡¤C++Ä£°å (template) (2025-12-26 15:49:49)
¡¤C ÓïÑÔÖÐÄ£°åµÄ¼¸ÖÖ (2025-12-26 15:49:47)