linux下的sleep()和usleep()的使用和区别

函数名: sleep
头文件: #include<windows.h> // 在VC中使用带上头文件
              #include<unistd.h>    // 在gcc编译器中,使用的头文件因gcc版本的不同而不同
功  能: 执行挂起指定的秒数
语  法: unsigned sleep(unsigned seconds);

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main()
{
    int a;
    a=1;
    printf("hello");
    sleep(a);        /* VC 使用Sleep*/
    printf("world");
    return 0;
}

  

函数名: usleep
头文件: #include <unistd.h>
功 能: usleep功能把进程挂起一段时间, 单位是微秒(百万分之一秒);
语 法: void usleep(int micro_seconds);
返回值: 无
内容说明:本函数可暂时使程序停止执行。参数 micro_seconds 为要暂停的微秒数(us)。

注 意:
这个函数不能工作在windows 操作系统中。用在Linux的测试环境下面。
参 见:usleep() 与sleep()类似,用于延迟挂起进程。进程被挂起放到reday queue。
在一般情况下,延迟时间数量级是秒的时候,尽可能使用sleep()函数。
如果延迟时间为几十毫秒(1ms = 1000us),或者更小,尽可能使用usleep()函数。这样才能最佳的利用CPU时间

时间: 2024-08-10 15:11:33

linux下的sleep()和usleep()的使用和区别的相关文章

Linux下 vi vim vim-gnome vim-tiny vim-gtk vim-nox的区别

http://blog.csdn.net/pipisorry/article/details/39508417 1.使用vim替换vi vim比vi强大多了,vim属于vi的超集,而且能够解决很多习惯的问题,所以还是有必要使用vim替换vi的.简单地话,可以直接使用"alias vi=vim"命令即可,不过这样只能在这次启动的时候有用,下次启动后,这条就无效了,如果想下次还能使用,那么就需要修改用户自启动配置文件.bashrc,具体的修改如下: sudo apt-get install

win&amp;linux下path中%%与$ 以及;与:区别,

%%是windows平台下取环境变量的符号,你写%JAVA_HOME%,就表示是取JAVA_HOME=....的这个值,不写就是JAVA_HOME这个字符串 linux平台下是$JAVA_HOME path路径中windows用;表示并列例如 ClassPath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 中间的.表示当前路径 PATH=%JAVA_HOME%\bin;%PATH% linux用:表示并列 export PATH=$PAT

Linux下多路复用IO接口epoll/select/poll的区别

select比epoll效率差的原因:select是轮询,epoll是触发式的,所以效率高. Select: 1.Socket数量限制:该模式可操作的Socket数由FD_SETSIZE决定,内核默认32*32=1024. 2.操作限制:通过遍历FD_SETSIZE(1024)个Socket来完成调度,不管哪个Socket是活跃的,都遍历一遍. Poll: 1.Socket数量几乎无限制:该模式下的Socket对应的fd列表由一个数组来保存,大小不限(默认4k). 2.操作限制:同Select.

Linux下的which,whereis,locate,find命令的区别

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:  which  查看可执行文件的位置. whereis 查看文件的位置.  locate   配合数据库查看文件位置. find   实际搜寻硬盘查询文件名称. 1.which  which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. 1.1.命令格式: which 可

比较一下Linux下的Epoll模型和select模型的区别

一. select 模型(apache的常用) 1. 最大并发数限制,因为一个进程所打开的 FD (文件描述符)是有限制的,由 FD_SETSIZE 设置,默认值是 1024/2048 ,因此 Select 模型的最大并发数就被相应限制了.自己改改这个 FD_SETSIZE ?想法虽好,可是先看看下面吧 … 2. 效率问题, select 每次调用都会线性扫描全部的 FD 集合,这样效率就会呈现线性下降,把 FD_SETSIZE 改大的后果就是,大家都慢慢来,什么?都超时了. 3. 内核 / 用

linux下 单引号 双引号 反引号的区别

" '' `` 单引号 '' 相当于吧里面的内容直接输出.并不会考虑里面是否有变量命令等双引号 "" 只认变量 命令会直接输出反引号 `` 两种都认   实例: a="hello" [localhost.localdomain 10:16:09]$echo 'echo %a'echo %a [localhost.localdomain 10:15:19]$echo "echo $a"echo hello [localhost.local

(笔记)Linux下的准确延时,#include &lt;linux/delay.h&gt;调用出错

在编写应用层程序时,有时需要延时一下,这个时候该怎么办呢? 在内核代码中,我们经常会看到这样的头文件使用#include <linux/delay.h>,心想着直接调用这个就可以了吧!可是在编译时发现,压根通不过, 提示错误如下:error: No such file or directory. 是不是觉得很奇怪,明明文件是存在的,怎么就不能调用了,而且内核很多文件调用得很欢.这是为什么呢? 因为内核程序跟应用程序是有区别的,有些特殊的内核头文件编译器不允许被应用程序调用.故编译应用程序使用内

linux的sleep()和usleep()的使用和区别

linux的sleep()和usleep()的使用和区别 关键词: linux sleep() usleep() sleep函数 usleep功能把进程挂起一段时间, 单位是微秒(百万分之一秒): 头文件: unistd.h 语法: void usleep(int micro_seconds); 返回值: 无 内容说明:本函数可暂时使程序停止执行.参数 micro_seconds 为要暂停的微秒数(us). 注意:这个函数不能在windows操作系统下运行 Sleep(unisgned long

linux下C/C++头文件梳理,看完这篇再也不会搞糊涂头文件了!

一:前言 进行linux下C/C++服务端后台开发的都知道,需要跟各种头文件打交道. 比如使用printf函数则需要引用#include <stdio.h>,使用STL的map容器则要#include <map>,使用socket网络编程则要#include <sys/socket.h>, 那么我考考你uint32_t是在哪个头文件定义的呢?sleep函数又是在哪个头文件?open和close是在同一个头文件里吗? 是不是有点一时半会答不上来,有没有好的方法能梳理头文件