軟體效能之程序優先順序

2021-09-24 22:14:45 字數 1253 閱讀 5218

什麼是程序?

程序優先順序:優先優先,對於程序來說就是誰更厲害,誰的優勢更大。這體現在搶奪系統資源的場景下。我們可以找乙個看起來比較「大」的程式(這裡的大指的是不要過於簡單,如我公司的軟體(乙個可以**雕刻字型的軟體)),跑起來,我們可以開啟windows下的任務管理器,找到當前執行的程式 :

右鍵->設定優先順序,有六種(idle、belownormal、normal、abovenormal、high、realtime),平常軟體都是普通(normal)級別。

讓跑的軟體執行後**跑乙個雕刻檔案,具體就是在介面上會有一把刀在刻字,檢視當前系統的cpu,不過只有3%-4%的cpu被軟體使用。我把軟體的優先順序設定為high和realtime,也沒看見跑的刀路更快完成了或者有其他的影響。或者我通過**的形式給軟體一起來就置其程序優先順序為high,啟動時間也沒啥變化。

那程序優先順序有個錘子用?

我們假想一下,2023年4月14日23時40分左右,鐵達尼號輪船在北大西洋航程中碰撞冰山要沉了,一部分人登上救生船得救了,一部分人不幸的死掉了,恰好有99個女人和1個男人靠著浮標漂流到乙個荒島上。我們可以做最壞的假設,這個男人很醜,一開始女人們都不喜歡這個男的,嫌棄他,但是隨著時間的推移,根據人類的自私心,「有好比過沒有」這個假設,開始有女人和男人來往(請讀者發散思維往最壞的、浪漫的、激情的、友愛的方向想),越來越多的女人開始和男人來往,也就是說,男人擁有了99個女人的資源。把這個男人比作我們的軟體,99個女人比作系統資源。假設一開始男人長得很帥氣,那他很可能會馬上就和某個女人進行來往,但是不會馬上得到其他剩下的98個人(更少?)的青睞。換做我們的軟體,就算設定了優先順序很高,系統資源充足的情況下,啟動時間也沒有馬上提高。

後來又有一艘船路過荒島附近時觸礁了,船上裝著300個強壯的強盜(不組團),300個強盜一下子擠到了島上,在荒島上度過了飢腸轆轆的幾個月,鐵達尼號上的男人和這些強盜相比實在是太弱了,男主一下子從擁有99個女人跌落到乙個也沒有的場景。還有一種情況是男主與強盜相比實力相當,大家每隔一段時間只能占用乙個女人。

為了在我的pc機上模擬上述場景,我寫了乙個死迴圈程式,然後開啟了10-20個這樣的程序,我的電腦就已經開始卡的不太行了。軟體這時跑的刀路(雕刻的字軌跡),從一開始很順利的變得一卡一卡的。那這時大家都是normal級別。我就把跑刀路的軟體程序優先順序設定為belownormal或者更低的idle,完了,刀路軌跡完全停下來了。我又把軟體優先順序設定為更高的high和realtime,ok,軟體跑的順暢了。那很好啊,老大讓我看的這個優先順序程序還是可以用的上的嘛。

程序優先順序

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

程序優先順序

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

程序優先順序

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