如何唤醒sleep,让sleep提前返回

来源:互联网 发布:武汉纬创软件怎么样 编辑:程序博客网 时间:2024/05/01 17:59

/**

   *@brief解决linux下,让sleep提前返回的实现方式
   *            解决方案:通过信号方式。

   *            每当按下 Ctrl+C时,sleep都会提前退出
   */

#include <iostream>

#include <signal.h>
#include <errno.h>


void sig_int(int n)
{
std::cout << "sig = " << n << std::endl;
}


int main()
{
signal(SIGINT, &sig_int);

for (int i = 0; ; i++)
{
errno = 0;
sleep(3);
std::cout << "i = " << i << " errno=" << errno << std::endl;
}


return 0;

}

原创粉丝点击