我有一個4線程的應用程序,其中2個是基於事件的,2個不是基於事件的。通過Windows XP中的c程序製作一個獨立的進程?
問題是我不得不分離2個非基於事件的線程,其中在(1)循環執行,需要一個龐大的CPU使用率和該使用量達到甚至高達100%,
我想使這些隔離線程可以減少CPU使用率,如果有任何其他方法PLZ引用我,它會是一個好主意,
。
我也想知道如何隔離線程。
thanx提前。
我有一個4線程的應用程序,其中2個是基於事件的,2個不是基於事件的。通過Windows XP中的c程序製作一個獨立的進程?
問題是我不得不分離2個非基於事件的線程,其中在(1)循環執行,需要一個龐大的CPU使用率和該使用量達到甚至高達100%,
我想使這些隔離線程可以減少CPU使用率,如果有任何其他方法PLZ引用我,它會是一個好主意,
。
我也想知道如何隔離線程。
thanx提前。
作爲一般規則,您很少想簡單地減少CPU使用率。雖然你當然可以可以這樣做(例如,通過半定期睡覺一段時間),但它不會真正實現很多。當然,假設線程正在做一些有用的CPU時間,減少CPU使用率將簡單地延長計算時間。
爲了獲得真正的好處,請減少CPU密集型線程的優先級的。這允許線程儘快完成計算,只要它們是準備運行的唯一線程即可。同時,這也意味着優先級較低的線程將完全消耗否 CPU時間只要有任何更高優先級的線程已準備好運行即可。
如果你讓你的線程在每次循環後短時間睡眠,那應該會減少CPU負載。
你是什麼意思隔離線程?設置處理器親和力? – icktoofay 2010-06-24 04:59:10
嗯我該怎麼做 – Badr 2010-06-24 05:04:18
你的CPU正在使用你的CPU嗎?或者他們只是忙着等待(在一個循環中等待工作)? – 2010-06-24 05:36:42