新聞中心
wait有多個(gè)重載的方法,可以指定等待的時(shí)間
在用VCL的情況下還是建議你使用TThread,API做程序的時(shí)候就要用CreateThread了 給出函數(shù):WaitForSingleObject 你可以在一個(gè)線(xiàn)程中用這個(gè)函數(shù)來(lái)等待另一個(gè)線(xiàn)程操作完畢,或者用消息來(lái)實(shí)現(xiàn)。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的四平網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
wait可以指等待的時(shí)間,也可以指“等”的動(dòng)作。
方法。wait(long timeout)導(dǎo)致當(dāng)前的線(xiàn)程等待,直到其他線(xiàn)程調(diào)用此對(duì)象的 notify() 方法或 notifyAll()方法,或者超過(guò)指定的時(shí)間量。
wait的用法1:wait的基本意思是“等”,指在相當(dāng)長(zhǎng)的一段時(shí)間內(nèi)停留在某個(gè)地方,直到某事發(fā)生或某人到來(lái)為止。wait的用法2:wait主要用作不及物動(dòng)詞,常與介詞for連用。
c語(yǔ)言中等待的函數(shù)是什么?
如果對(duì)時(shí)間要求非常精確,可以考慮采用和匯編中處理的情況,看看cpu的頻率,將for命令分解成匯編語(yǔ)言,看多少毫秒執(zhí)行一次命令,然后設(shè)置循環(huán)次數(shù),這樣足夠精確,實(shí)際上在匯編下也是這么做的。
不是標(biāo)準(zhǔn)函數(shù),應(yīng)是自定義函數(shù)。例如:include windows.hvoid waiting(){ Sleep(1000);} 調(diào)用 waiting() 則將 等待 1秒鐘。
Sleep中的第一個(gè)英文字符為大寫(xiě)的S ,在linux下不要大寫(xiě),在標(biāo)準(zhǔn)C中是sleep, 不要大寫(xiě),簡(jiǎn)單的說(shuō)VC用Sleep, 別的一律使用sleep。
消息隊(duì)列的等待就是GetMessage,沒(méi)辦法自己寫(xiě),除非你打算改Windows本身。這個(gè)函數(shù)如果沒(méi)有消息進(jìn)來(lái)就會(huì)釋放CPU,如果不希望等待用PeekMessage。消息循環(huán)的格式是固定的。
system(pause)意思就是讓程序暫停一下,然后按任意鍵繼續(xù),初學(xué)的時(shí)候最多見(jiàn)于程序的末尾處,用于看運(yùn)行結(jié)果,避免程序一閃而過(guò)。相同的我們還可以用getchar(),避免程序運(yùn)行完直接結(jié)束而看不到運(yùn)行結(jié)果。
延遲函數(shù),一般建議調(diào)用系統(tǒng)函數(shù)。不建議循環(huán)。特別是多任務(wù)操作系統(tǒng),循環(huán)會(huì)消耗系統(tǒng)資源。如果是Dos,indows,linux系統(tǒng)建立調(diào)用 Sleep()函數(shù)。其他系統(tǒng),請(qǐng)自行查找。
線(xiàn)程中sleep和wait的區(qū)別
1、sleep和wait的區(qū)別有:1,這兩個(gè)方法來(lái)自不同的類(lèi)分別是Thread和Object 2,最主要是sleep方法沒(méi)有釋放鎖,而wait方法釋放了鎖,使得其他線(xiàn)程可以使用同步控制塊或者方法。
2、sleep 是線(xiàn)程被調(diào)用時(shí)占著CPU,其他線(xiàn)程不能占用CPU,os認(rèn)為該線(xiàn)程正在工作,不會(huì)讓出系統(tǒng)資源。wait是進(jìn)入等待池,讓出系統(tǒng)資源,其他線(xiàn)程可以占用CPU,一般wait不會(huì)加時(shí)間限制。
3、wait是進(jìn)入隊(duì)列等待獲取鎖,notify是在已經(jīng)占有鎖的時(shí)候釋放鎖,并通知wait隊(duì)列里的某一個(gè)線(xiàn)程起來(lái)去獲取鎖。
4、sleep是線(xiàn)程類(lèi)(Thread)的方法,導(dǎo)致此線(xiàn)程暫停執(zhí)行指定時(shí)間,給執(zhí)行機(jī)會(huì)給其他線(xiàn)程,但是監(jiān)控狀態(tài)依然保持,到時(shí)后會(huì)自動(dòng)恢復(fù)。調(diào)用sleep不會(huì)釋放對(duì)象鎖。
5、sleep()可以將一個(gè)線(xiàn)程睡眠,參數(shù)可以指定一個(gè)時(shí)間。而wait()可以將一個(gè)線(xiàn)程掛起,直到超時(shí)或者該線(xiàn)程被喚醒。
當(dāng)前題目:c語(yǔ)言線(xiàn)程wait函數(shù) c語(yǔ)言線(xiàn)程的用法
網(wǎng)頁(yè)URL:http://www.ef60e0e.cn/article/deseiej.html