程序優先順序

2022-08-12 00:36:19 字數 3110 閱讀 6746

l         程序優先順序

l         獲取當前程序控制代碼

l         優先順序設定

l         優先順序變動

l         優先順序獲取

一、程序優先順序(優先順序等級)

簡單的說就是程序(執行緒)的優先順序越高,那麼就可以分佔相對多的cpu時間片。每個程序都有相應的優先順序,優先順序決定它何時執行和占用 cpu 時間。最終的優先順序共分32級,是從 0 到 31 的數值,稱為基本優先級別。

priority class)優先順序等級,這裡我叫它程序優先順序。因為一般來說它是在呼叫createprocess時指定的,createprocessdwcreationflags就可以指定程序的優先順序。而執行緒建立時會繼承程序的優先等級

因為執行緒才是cpu時間分配的最小單位,所以部分書上也叫執行緒優先等級。

程序優先順序priority class

標誌

優先順序值

idle(低)

idle_priority_class

4

below低於標準

below_normal_priority_class

此值在2000以下系統不支援

normal(標準)

normal_priority_class

9(前台)或 7(後台)

above高於標準

above_normal_priority_class

此值在2000以下系統不支援

high      (高)

high_priority_class

13

realtime(實時)

realtime_priority_class

24

#define normal_priority_class             0x00000020

#define idle_priority_class                 0x00000040

#define high_priority_class                 0x00000080

#define realtime_priority_class            0x00000100   

//2000及xp以上版本支援以下 優先順序等級

#define below_normal_priority_class       0x00004000

#define above_normal_priority_class       0x00008000

二、獲取當前程序控制代碼

getcurrentprocess

三、程序優先順序的設定

createprocess建立程序時也可以設定程序優先順序

setpriorityclass設定程序優先順序

getpriorityclass   獲取程序優先順序

setprocesspriorityboost設定啟用或停用程序優先順序提高功能

getprocesspriorityboost   獲取是否啟用程序優先順序提高功能

void cdialog_process::onbnclickedradio1()

void cdialog_process::onbnclickedradio2()

void cdialog_process::onbnclickedradio3()

void cdialog_process::onbnclickedradio4()

void cdialog_process::onbnclickedradio5()

void cdialog_process::onbnclickedradio6()

程序優先順序

程序的優先順序可以通過setpriority nice修改優先順序。程序分為普通程序和實時程序。實時程序的優先順序比普通程序的優先順序高。nice的值 20 19值越小優先順序越高。預設為0 不同程序的執行緒優先順序?執行緒會繼承程序的優先順序,核心的排程是執行緒。所以先看程序是普通程序還是實時程序...

程序優先順序

用top或者ps命令會輸出pri pr ni ni nice這三種指標值,這些到底是什麼東西?先給出大概的解釋如下 pri 程序優先權,代表這個程序可被執行的優先順序,其值越小,優先順序就越高,越早被執行 ni 程序nice值,代表這個程序的優先值 nice 改變過優先順序的程序的占用cpu的百分比...

程序優先順序

1動態優先順序 因為高優先順序的程序總比低優先順序的程序先被排程,為防止有多個高優先順序且一直占用cpu資源,導致其它程序不能占用cpu,所以引用動態優先順序概念.2互動式的程序 如果某個程序被認為是互動式的,那麼將被賦予較高的優先權,例如 鍵盤輸入.互動式的程序從來不被搶占,並且占用cpu很少,它...