C中的sleep,wait,delay函数有什么区别???

C中的sleep,wait,delay函数有什么区别???说说使用情况谢谢
2024-12-25 10:21:14
推荐回答(1个)
回答1:

sleep 和 wait是标准C中的函数,标准C中没有delay函数,应用者根据需要可以自己去实现。
sleep()函数就是让程序休眠指定的时间,即程序运行到这条指令时,会停止运行片刻。
wait()是有关接收进程结束状态的函数,如果一个子进程结束了,而它的父进程没有去wait它的返回状态,则这个子进程会变成僵尸进程。

例子:自己编译后去体会一下吧

int main()
{
int pid=0;
pid=fork();
if ( pid < 0 )
{
printf("fork error\n");
return -1;
}
if ( pid == 0 )
{
printf("now into child process\n",);
sleep(5); //停五秒
exit(0);
}
printf("parent process wait child....\n");
wait(NULL); //等子进程结束
printf("program is over!\n");
}