-
Sleep函數
鎖定
Sleep函數可以使計算機程序(進程,任務或線程)進入休眠,使其在一段時間內處於非活動狀態。當函數設定的計時器到期,或者接收到信號、程序發生中斷都會導致程序繼續執行。
- 中文名
- Sleep函數
- 外文名
- Sleep Function
- 功 能
- 執行掛起一段時間
- 用 法
- void Sleep(DWORD ms);
- 單 位
- 毫秒
- 系 統
- Windows、Linux
Sleep函數用法
Sleep函數Windows系統
在Windows操作系統中,sleep()函數需要一個以毫秒為單位的參數代表程序掛起時長,sleep()函數包含在kernel32.dll動態鏈接庫中,但在批處理文件中沒有可以直接運行的sleep()函數。可以在如Windows 2003資源包等Windows工具集中找到sleep()函數。
Sleep函數Unix系統
Sleep函數C語言實例
在Windows系統中:
Sleep(2*1000); //sleep for 2 seconds
在Unix系統中:
sleep(2); //sleep for 2 seconds
Sleep函數注意
在VC中Sleep中的第一個英文字符為大寫的"S"
在標準C中是sleep(S不要大寫),下面使用大寫的來説明,具體用什麼看你用什麼編譯器。簡單的説VC用Sleep,別的一律使用sleep。
Sleep函數的一般形式:
Sleep(unsigned long);
其中,Sleep()裏面的單位,是以毫秒為單位,所以如果想讓函數滯留1秒的話,應該是Sleep(1000);
在Linux下,sleep中的“s”不大寫
特別注意在Codeblocks環境下是無法使用sleep函數的,因為在windows上Codeblocks採用mingw(Gnu在Window環境下的編譯器,可以充分使用WindowsApi)作為編譯器,而在stdlib.h中sleep的説明如下:_CRTIMP void __cdecl __MINGW_NOTHROW _sleep (unsigned long) __MINGW_ATTRIB_DEPRECATED;可以認為mingw捨棄了sleep函數,建議用Sleep實現sleep。
Sleep函數示例
#include <windows.h>
#include<stdio.h>
int main()
{
int a;
a=1000;
printf("你");
Sleep(a);/* VC 使用Sleep*/
printf("好"); /*輸出“你”和“好”之間會間隔一千毫秒,即間隔一秒,Sleep()的單位為毫秒*/
return 0;
}
- 參考資料
-
- 1. Sleep函數和硬件思維在C語言中的應用 .中國知網[引用日期2019-06-05]
- 2. Fusco, John (2007-03-06). The Linux Programmer's Toolbox. Pearson Education. ISBN 9780132703048.