usleep使用

前几天分析MAC上的一段代码,偶然看到usleep这个函数,打开MSDN居然查不到这个函数,对应的在windows上,只有Sleep函数。百度了一下:

语法:

void usleep(int micro_seconds);   

返回值:

无   

内容说明:

本函数可暂时使程序停止执行。

参数

micro_seconds 为要暂停的微秒数(us)。  

注意:

这个函数不能工作在 Windows 操作系统中。参见:usleep() 与sleep()类似,用于延迟挂起进程。进程被挂起放到reday queue。

只是一般情况下,延迟时间数量级是秒的时候,尽可能使用sleep()函数。且此函数已被废除,可使用nanosleep。如果延迟时间为几十毫秒(1ms = 1000us),或者更小,尽可能使用usleep()函数。这样才能最佳的利用CPU时间。

 

在windows下使用Sleep函数,需要包含头文件windows.h;在MAC/LINUX上使用需要包含头文件unistd.h。

注意:unistd的意思是Unix   Standard的意思,里面定义的宏一类的东西都是为了Unix标准服务的(一般来说包括了POSIX的一些常量)

可以使用如下的方式:

#ifdef WIN32
#include <windows.h>
#else
#include <unistd.h>
#endif

 

但是如果在MAC上使用QT编程,并且在QThread中使用了usleep函数,则此处的usleep函数就是QThread中的了。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值