2009-12-19 159 views
1

如果存在高優先級的線程,我需要掛起當前線程,我該怎麼做。我需要暫停該線程,並在完成之後先執行新的高優先級線程,然後恢復先前的線程。如何暫停和恢復線程?

+0

我們在討論哪種環境,以及您想用哪種語言來實現? – 2009-12-19 11:13:58

+2

請給我們一個機會!什麼編程語言,什麼環境? – 2009-12-19 11:14:01

+0

我正在使用C#和在VS2008窗口應用程序 – marshalprince 2009-12-19 11:20:33

回答

2

我需要掛起當前線程 如果存在一個高優先級線程

這不是線程是如何工作的。它們應該並行運行,高優先級的線程有更多的時間 - 操作系統會自動爲您執行。你不應該試圖干涉這一點,特別是因爲現在大多數計算機有多個內核,並且給予一個線程絕對優先級甚至不會使其執行得更快。

+0

這很好。但我想讓低優先級的線程等待或暫停一次,並且高優先級的線程立即執行。所以它看起來更快 – marshalprince 2009-12-19 12:00:07

+0

不,你不需要這樣做,因爲它不會比正確分配優先級更好,但會使多核機器,即所有現代PC都變得更慢。 – 2009-12-19 12:12:25

+0

那麼如果最高優先級的線程啓動了,我想更快地執行,我不能掛起低優先級的線程? – marshalprince 2009-12-19 12:28:38