c語言的sleep
A. c語言Sleep()函數
Sleep(1) 是休息 1毫秒。不是非常精確的,只是說解析度是 1毫秒。
你的循環語句的執行,輸出語句的執行,也要花時間,同一時間,你的計算機系統還有很多進程也在運行,它們共享同一電腦的資源。 所以 你的程序 輸出不了那麼多數。
B. c語言的 sleep函數到底在哪個頭文件里啊
在<windows.h>裡面。
在VC中使用時,sleep函數的頭文件為windows。h,在linux下,gcc編譯器中,使用的頭文件因gcc版本的不同而不同
在VC中,Sleep中的第一個英文字元為大寫的"S",在linux下不要大寫,在標准C中是sleep,不要大寫,簡單的說VC用Sleep,別的一律使用sleep
在VC中,Sleep()裡面的單位,是以毫秒為單位,所以如果想讓函數滯留1秒的話,應該是Sleep(1000);在Linux下,sleep()裡面的單位是秒,而不是毫秒。
(2)c語言的sleep擴展閱讀:
Windows.h頭文件之所重要,是因為頭文件封裝了許多庫函數以及一些類,將一些復雜的工作由庫函數處理,Windows.h頭文件中包含了Windef.h、Winnt.h、Winbase.h、Winuser.h、Wingdi.h等頭文件,涉及到了Windows內核API,圖形界面介面,圖形設備函數等重要的功能。
在C語言家族程序中,頭文件被大量使用。一般而言,每個C++/C程序通常由頭文件和定義文件組成。頭文件作為一種包含功能函數、數據介面聲明的載體文件,主要用於保存程序的聲明,而定義文件用於保存程序的實現。
C. C語言中sleep函數的原理是什麼
原理應該是這樣的:
例如執行sleep(3),表示當前線程停滯3ms後再繼續執行下面的代碼,底層步驟是:
創建一個元素{timeMillis:[當前時間戳+3ms],threadId:[線程id]},並將該元素按順序插入定時回調隊列中,比如現在操作系統中有3個定時正在停滯中,分別是1ms、10ms、3ms之後喚醒,那麼這個隊列就類似這樣子:{timeMillis:110928283,threadId:106}->{timeMillis:110928285,threadId:211}->{timeMillis:110928292,threadId:189},時間從小到大排序;
每當定時器產生一次中斷時,中斷回調函數中就會獲取這個隊列中第一個元素,將其timeMillis與當前時間戳比較,如果相等或超時,就表示該元素對應的線程106號線程需要喚醒了,則將106號線程的狀態設置為TASK_RUNNING(就緒態),當下一次進程切換時,106線程就可以被切換到並執行了;
注意:2中說的定時器和系統線程調度時鍾定時器我覺得不是一個,而是兩個時鍾定時器,不確定。
D. C語言中的sleep() 函數
使用要帶上頭文件:
#include <windows.h>
Sleep函數:
功 能: 執行掛起一段時間
用 法: unsigned sleep(unsigned seconds);
注意:
1.在VC中使用帶上頭文件#include <windows.h>,在Linux下,gcc編譯器中,使用的頭文件因gcc版本的不同而不同#include <unistd.h>
2.在VC中,Sleep中的第一個英文字元為大寫的"S" ,在linux下不要大寫,在標准C中是sleep, 不要大寫,簡單的說VC用Sleep, 別的一律使用sleep。
3.在VC中,Sleep()裡面的單位,是以毫秒為單位,所以如果想讓函數滯留1秒的話,應該是Sleep(1000); 在Linux下,sleep()裡面的單位是秒,而不是毫秒。
示例:
#include<dos.h>
int main(void)
{
sound(440);
delay(500);
nosound();
return 0;
}
delay()是循環等待,該進程還在運行,佔用處理器。
sleep()不同,它會被掛起,把處理器讓給其他的進程。
E. 在c語言中,sleep()怎麼用
Sleep()的作用是暫停程序。
Sleep()裡面的單位,是以毫秒為單位,所以如果想讓函數滯留1秒的話,應該是Sleep(1000);
Sleep()的使用,示例:
#include<windows.h>
intmain(){
inta;
a=1000;
Sleep(a);
return0;
}
(5)c語言的sleep擴展閱讀
usleep函數的使用:
usleep功能把進程掛起一段時間,單位是微秒us(百萬分之一秒);
語法:voisleep(intmicro_seconds);
返回值:無
注意:這個函數不能工作在Windows操作系統中。
usleep()與sleep()類似,用於延遲掛起進程。進程被掛起放到redayqueue。只是一般情況下,延遲時間數量級是秒的時候,盡可能使用sleep()函數。且此函數已被廢除,可使用nanosleep。
如果延遲時間為幾十毫秒,或者更小,盡可能使用usleep()函數。這樣才能最佳的利用CPU時間。
F. C語言中sleep()函數到底有什麼功能關於緩沖區方面的,詳細具體點的。查了很多資料,都不全面。
Sleep()函數
頭文件:
#include
int
dt
=
1000;
它的功能是執行到Sleep(dt)函數時,程序睡覺(就是等在那裡)
dt
毫秒。
dt
=
1000,
程序睡覺
1
秒。同
緩沖區
沒有關系。
Sleep()函數
時間
計時
不很精確,每秒可能有25毫秒誤差。
G. c語言中有沒有_sleep函數
因為C語言中本身就有sleep函數,聲明頭文件為頭文件#include <unistd.h>,
Sleep()單位為毫秒,sleep()單位為秒(如果需要更精確可以用usleep單位為微秒)
H. c語言sleep用法
C語言標准庫中沒有sleep這個函數,它實際上是一個系統API函數。
函數功能: 執行掛起一段時間
1、在VC中使用帶上頭文件,而且全稱為Sleep(),第一個字母需要大寫。
#include<windows.h>//需要添加頭文件
Sleep(unisgnedlong);//函數聲明
Windows中,Sleep()裡面的單位,是以毫秒為單位,所以如果想讓函數滯留1秒的話,應該寫成:
Sleep(1000);
2、在gcc中,使用的頭文件因gcc版本的不同而不同,一般來說,linux系統需要添加的頭文件為:
#include <unistd.h>
應該是Sleep(1000);
在Linux下,sleep()裡面的單位是秒,而不是毫秒。
I. c語言sleep用法是什麼
C語言標准庫中沒有sleep這個函數,它實際上是一個系統API函數。
SLEEP是一種函數,作用是延時,程序暫停若干時間,在執行時要拋出一個中斷異常,必須對其進行捕獲並處理才可以使用這個函數。
Sleep()沒有返回值,作用是暫停程序,單位是毫秒。
比如:Sleep(10)的意思是暫停10毫秒.