關於執行緒優先順序的小程式

2021-04-19 08:52:58 字數 1212 閱讀 5647

這幾天正努力地學習

windows

程式設計(第

2版),剛看到程序和多執行緒程式設計,今天看了一下關於執行緒優先順序的程式設計。

windows支援6

個優先順序類:

idle

、below normal

、normal

、above normal

、high

和real-time

。通常程序的優先順序是不輕易改變的,所以這裡我著重說一下執行緒的優先順序。執行緒剛被建立時,它的相對優先順序總是被設定為

normal

。若要改變執行緒的優先順序,常使用下面這個函式:

bool setthreadpriority(handle hthread,int npriority);

hthread

引數是目標執行緒的控制代碼,

npriority

引數定義了執行緒的優先順序,取值如下所示:

thread_priority_time_criticaltime-critical

(實時)

thread_priority_highesthighest

(最高)

thread_priority_above_normalabove normal

(高於正常,

windows98

不支援)

thread_priority_normalnormal

(正常)

thread_priority_below_normalbelow normal

(低於正常,

windows98

不支援)

thread_priority_lowestlowest

(最低)

thread_priority_idleidle

(空閒)

下面的小例子演示了兩個不同優先順序的執行緒的執行過程,執行結果圖如下:

詳細**如下:

// prioritydemo.cpp :

定義控制台應用程式的入口點。

//

#include

"stdafx.h"

#include

dword winapi threadidle(lpvoid lpparam)

dword winapi threadnormal(lpvoid lpparam)

int_tmain(

intargc, _tchar* argv)

執行緒優先順序

執行緒優先順序由執行緒所屬程序的優先順序類 執行緒自身的相對優先級別共同確定,二者組合值作為執行緒的基優先順序。base priority level win32系統中,執行緒基優先順序的範圍從最低優先順序0到最高優先順序31。系統優先順序程式優先順序類別 執行緒優先順序等級 1idle prior...

執行緒優先順序

優先順序是執行緒排程的重要依據。優先順序高的執行緒,永遠先獲得cpu的青睞。當然啦,作業系統會視情況調整各個執行緒的優先順序。例如前台執行緒的優先順序應該調高一些,後台執行緒的優先順序應該調低一些。執行緒的優先順序範圍從0 最低 到31 最高 當你產生執行緒時,並不是直接以數值指定其優先順序,而是採...

執行緒優先順序

知識點 執行緒優先順序 獲取當前執行緒控制代碼 執行緒優先順序設定 執行緒優先順序變動 執行緒優先順序獲取 一 執行緒優先順序 thread priority 簡單的說就是 執行緒 的優先順序越高,那麼就可以分佔相對多的cpu時間片。每個程序都有相應的優先順序,優先順序決定它何時執行和占用 cpu ...