sleep函数原理:当前进程挂起指定时间后继续运行
1、进程挂起
pause():进程挂起,直到收到一个信号,只有出错返回。
2、计时机制()
alarm():设定⼀一个闹钟,也就是告诉内核在seconds秒之后给当前进程发
SIGALRM信号, 该信号的默认处理动作是终⽌止当前进程。这个函数的返回值是0或者是以前设定的闹钟时间还余下 的秒数.
具体实现代码如下:
#include<stdio.h>
#include<unistd.h>
#include<signal.h>
void handler(int signo)
{}
int mysleep(int time)
{
struct sigaction act,oact;
act.sa_handler = handler;
sigemptyset(&act.sa_mask);
act.sa_flags = 0;
int ret = 0;
sigaction(SIGALRM,&act