请教Linux下的sleep()函数。。。

maybeiamtooold 2004-10-18 10:34:41
sleep()函数的原型为:
unsigned int sleep(unsigned int seconds);
如果我只是想睡眠几个毫秒的时候,我只能把参数搞成float或者double,尽管可以运行,不过要出警告,很是不爽,不知道有什么好的办法可以睡眠几个毫秒的????

顺便说一句:windows下的Sleep函数参数为毫秒数。

谢谢!!!!
...全文
8077 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
tengulre 2004-10-22
  • 打赏
  • 举报
回复
nanosleep
ruyedian 2004-10-21
  • 打赏
  • 举报
回复
建议用select,
usleep的时间不是很准
datuhao 2004-10-20
  • 打赏
  • 举报
回复
usleep()实现 1/1000000秒延时
select()实现 1/1000秒延时
jug 2004-10-20
  • 打赏
  • 举报
回复
#include <sys/time.h>
int usleep(unsigned int microseconds);
or
setitimer (int which, const struct itimeval *value, struct itimerval *ovalue);
ldsjlzy 2004-10-20
  • 打赏
  • 举报
回复
pthread_delay_np
blh 2004-10-20
  • 打赏
  • 举报
回复
If your Linux OS adopts kernel 2.6.x, you can use nanosleep or select call to implement your requirement. If 2.4.x, it does not support that precision.
ks9960 2004-10-19
  • 打赏
  • 举报
回复
还有个厉害的
#include <time.h>

int nanosleep(const struct timespec *req, struct timespec *rem);
tkit 2004-10-19
  • 打赏
  • 举报
回复
nanosleep
lysliberty 2004-10-19
  • 打赏
  • 举报
回复
用setitimer()可以到微秒级.
wxywh 2004-10-19
  • 打赏
  • 举报
回复
用usleep()函数,以微秒为单位的:
#include <unistd.h>
int usleep(unsigned int microseconds);
turlim 2004-10-19
  • 打赏
  • 举报
回复
可以试试mdelay()。还有微秒级的udelay()。
ckc 2004-10-19
  • 打赏
  • 举报
回复
windows下的虽然是毫秒级sleep,可是没有相应的精度保证
GZ 2004-10-19
  • 打赏
  • 举报
回复
up
有没有更强的
tukey 2004-10-19
  • 打赏
  • 举报
回复
up

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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