2013-07-23 39 views
1

我讓C#在一個新線程中運行一個進程。該過程需要95-100%的CPU。有沒有一種方法可以告訴過程使用更少的CPU?我是否需要告訴線程做更少的CPU或進程?.NET進程 - CPU控制?

+0

你在新線程中可能會導致你的問題的計算是什麼?過帳代碼可能有助於澄清這一點。 – NULL

+0

可能的重複http://stackoverflow.com/questions/989281/how-can-i-programmatically-limit-my-programs-cpu-usage-to-below-70 – Martheen

+0

你是什麼意思,「在一個單獨的線程」 ?根據定義,任何新進程都將在新線程上運行。 –

回答

3

有沒有直接的方式來說「少用CPU」。看起來你的操作是CPU Bound

保持CPU在100%利用率下不斷燃燒的最好方法是調用一些直接的線程控制。將主要工作單元放在一個線程中,並在執行一個工作單元后調用Thread.Sleep。作爲設置線程的一部分,您還可以使用Thread.Priority來設置優先級(與通過任務管理器一樣)。