在討論區部小心看到一篇發問:『我可以指定我的程式採用多核心處理嗎?』,因此產生研究動機。我也想反過來知道,我們所開發的應用程式與多核心CPU之間的關係。

我做了以下的測試:
利用Delphi撰寫一支超迷你超簡單的『操cpu』程式。這隻程式的目的在一個無窮迴圈中,亂數位置於Form上面繪出中文字(因為中文字叫 耗資源)
接下來,先進行多核心與單核心執行的測試。
1.啟動程式。
2.開啟工作管理員,會看到如下畫面:
   由效能監視圖形中,我們可以看到作業系統使用兩顆CPU核心來執行程式。
   UP002

3. 接下來,示範如何指定應用程式採用哪一棵CPU核心執行
    a. 在應用程式的執行程序上按滑鼠右鍵,選擇設定相關性。如下圖。
        UP003 


     b.可以看到如下圖,預設所有核心都打勾。我們試試把第一顆核心關閉。
        Up004

    c.當CPU0被設定為不使用後,可以明顯的看到如下圖的顯示,CPU0的Loading幾乎沒了,但運算Loading完全加到CPU1上面去了。
       up005

以上的調整,能讓我們來指定使用哪一棵CPU或哪一個核心的資源來執行應用程式。一般而言,資源分配都是交由作業系統自動進行,如果你想手動指定,除了上述方法外,還能採用WinAPI的程式方法達到,簡單說,如果使用程式方法,在你的應用程式被執行起來時,你有機會由你的程式來指定運算資源。

創作者介紹
創作者 lcjan 的頭像
lcjan

無窮迴圈

lcjan 發表在 痞客邦 留言(0) 人氣()