在运行程序过程中,多线程、测试程序、循环等操作中,常常涉及到sleep()函数,这个函数有一些坑,需要注意一下。
首先说明一下sleep()函数的作用,其功能就是程序执行到此后,执行挂起一段时间。用法是:
unsigned sleep(unsigned seconds);
第一个坑:头文件
在VC中使用带上头文件:#include <windows.h>
在gcc编译器中,使用的头文件因gcc版本的不同而不同
linux系统需要添加的头文件#include <unistd.h>。linux下,用g++编译,得添加unistd.h头文件,gcc则加不加都可以,因为标准C中有sleep文件了。
第二个坑:书写方式
在VC中Sleep中的第一个英文字符为大写的"S"。在标准C中是sleep,不要大写。是否使用大写主要还是看编译器,粗暴一点:VC用Sleep,别的一律使用sleep。在Linux下,sleep中的“s”不大写!
第三个坑:挂起时间单位不同
Sleep()里面的单位(“S”大写),是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000)。
sleep()里面的单位是秒,而不是毫秒。