ceSetThreadPriority设置线程优先级~!
ceSetThreadPriority
一直採(cǎi)用SetThreadPriority,結(jié)果今天發(fā)帖詢問線程時(shí)間問題,才突然頓悟。。。發(fā)現(xiàn)SetThreadPriority只設(shè)置248-255,也就是說就算是設(shè)為最高優(yōu)先級(jí),頂多是248.。。。差好遠(yuǎn)呢。。。而ceSetThreadPriority的設(shè)置范圍是0-255,最高為0!!!我就說我的線程設(shè)置的優(yōu)先級(jí)怎么沒什么用。。。。。。NYYD。。。
?
初始化代碼中的關(guān)鍵 Win32 API 調(diào)用是對(duì) CeSetThreadPriority 的調(diào)用。此函數(shù)接受兩個(gè)參數(shù)。第一個(gè)參數(shù)是線程句柄,第二個(gè)值介于 0-255 之間,用于描寫敘述所需的優(yōu)先級(jí)。選擇使用哪個(gè)線程優(yōu)先級(jí)很關(guān)鍵,而可以以圖表表現(xiàn)應(yīng)用程序優(yōu)先級(jí)的使用,也有助于確保適當(dāng)?shù)男阅?。?yōu)先級(jí)從 0 至 247 的線程(0 表示最高優(yōu)先級(jí))是實(shí)時(shí)線程優(yōu)先級(jí),須要調(diào)用 CeSetThreadPriority 來訪問。一般線程優(yōu)先級(jí)介于 248-255 之間,要使用 SetThreadPriority 進(jìn)行訪問。下表提供了 Windows CE .NET 標(biāo)準(zhǔn)優(yōu)先級(jí)實(shí)現(xiàn)的高速指南。
表 3:實(shí)時(shí)線程優(yōu)先級(jí):CeSetThreadPriority
| 0-19 | 開放 - 高于驅(qū)動(dòng)程序的實(shí)時(shí) |
| 20 | Permedia 垂直折返 |
| 21-98 | 開放 - 高于驅(qū)動(dòng)程序的實(shí)時(shí) |
| 99 | 電源管理恢復(fù)線程 |
| 100-108 | USB OHCI UHCI、串行 |
| 109-129 | Irsir1、NDIS、觸摸板 |
| 130 | KITL |
| 131 | VMini |
| 132 | CxPort |
| 133-144 | 開放 - 設(shè)備驅(qū)動(dòng)程序 |
| 145 | PS2 鍵盤 |
| 146-147 | 開放 - 設(shè)備驅(qū)動(dòng)程序 |
| 148 | IRComm |
| 149 | 開放 - 設(shè)備驅(qū)動(dòng)程序 |
| 150 | TAPI |
| 151-152 | 開放 - 設(shè)備驅(qū)動(dòng)程序 |
| 153-247 | 開放 - 低于驅(qū)動(dòng)程序的實(shí)時(shí) |
表 4:一般線程優(yōu)先級(jí):SetThreadPriority
| 248 | 電源管理 |
| 249 | WaveDev、TVIA5000、鼠標(biāo)、PnP、電源 |
| 250 | WaveAPI |
| 251 | 電源管理器電池線程 |
| 252-255 | 開放 |
一般來說,最先須要決定的是要確定關(guān)鍵線程是否須要驅(qū)動(dòng)程序。假設(shè)關(guān)鍵線程須要驅(qū)動(dòng)程序才干正常工作,而將它的優(yōu)先級(jí)設(shè)定為高于驅(qū)動(dòng)程序的優(yōu)先級(jí),則非常難獲得好的性能。總之,時(shí)間關(guān)鍵型應(yīng)用程序須要放在“高于驅(qū)動(dòng)程序類別的實(shí)時(shí)”類別中,優(yōu)先級(jí)范圍為 0-98。
轉(zhuǎn)載于:https://www.cnblogs.com/bhlsheji/p/4368167.html
總結(jié)
以上是生活随笔為你收集整理的ceSetThreadPriority设置线程优先级~!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。