您的位置:首页 > 其它

sleep(n)函数实现

2016-01-28 08:55 155 查看
sleep(n)是将当前进程挂起n秒或者在此期间被一个不能忽略的信号的到达所唤醒。

sleep由3个步骤组成:

signal(SIGALRM,handler); //接收内核给的SIGALRM信号

alarm(n);//设置定时时间一到就发送一个信号SIGALRM

pause();//将进程挂起

alarm(0)意味着关掉闹钟

pause()挂起调用进程直到一个信号到达,如果这个信号终止了调用进程,pause没有返回。如果调用进程用一个处理函数捕获,在控制从处理函数处返回后pause返回。这种情况下errno被设置为EINTR
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: