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

javaworld2006 2006-11-15 09:59:32
C语言的sleep,wait,delay函数有什么区别???究竟在什么情况下具体选择哪一个???
...全文
11922 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
javaworld2006 2006-11-16
  • 打赏
  • 举报
回复
好的!明白了!谢谢大家的热心回答啊!
alan001 2006-11-15
  • 打赏
  • 举报
回复
串行口编程,会用到延时,因为硬件反应到稳定状态,需要些微时间.............
hailongchang 2006-11-15
  • 打赏
  • 举报
回复
原型:extern void sleep(unsigned int sec);

用法:#include <system.h>

功能:短暂延时

说明:延时sec秒

举例:

// sleep.c

#include <system.h>

main()
{
int c;

clrscr();
printf("\nHello, world!");

sleep(1);

clrscr();
printf("\nHi, guys");

getchar();
return 0;
}

原型:extern void delay(unsigned int msec);

用法:#include <system.h>

功能:短暂延时

说明:延时msec*4毫秒

举例:

// delay.c

#include <system.h>

main()
{
int c;

clrscr();
printf("\nHello, world!");

delay(250); // 250*4=1000msec=1sec

clrscr();
printf("\nHi, guys");

getchar();
return 0;
}


wait(等待子进程中断或结束)
相关函数
waitpid,fork
表头文件
#include<sys/types.h>
#include<sys/wait.h>
定义函数
pid_t wait (int * status);
函数说明
wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回子进程结束状态值。子进程的结束状态值会由参数status 返回,而子进程的进程识别码也会一快返回。如果不在意结束状态值,则
参数
status可以设成NULL。子进程的结束状态值请参考waitpid()。
返回值
如果执行成功则返回子进程识别码(PID),如果有错误发生则返回-1。失败原因存于errno中。
jixingzhong 2006-11-15
  • 打赏
  • 举报
回复
wait 根本就是另外的一回事情 ~~

暂停时间精度高的, 比如 100ms,
用 delay,
如果是 s 为单位的, 都没有关系 ~~
jixingzhong 2006-11-15
  • 打赏
  • 举报
回复
sleep 参数指定暂停时间, 单位是 s
delay 参数指定暂停时间, 单位是 ms

所以 sleep(n) == delay(1000*n)
apricot0819 2006-11-15
  • 打赏
  • 举报
回复
wait 是等待子进程的返回

70,024

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧