2010-09-02 22 views
0

我需要在具有2個線程的進程或2個進程與Windows上的一個線程之間進行選擇。我在時間片中感到興奮。在任何情況下,Windows都會運行線程以進行上下文切換。我想知道如果它在兩個案例中運行的每個線程的時間是相同的?謝謝。Windows中的線程vs進程的時間?

回答

1

Windows調度線程,所以是的,它們將是相同的。

1

Windows調度程序不關心線程來自哪個進程,線程優先級是什麼。如果你有一個線程T1和T2與一對進程P1(相當於T1)和P2(相當於T2)的進程,那麼與調度程序的觀點沒有什麼不同,只要P1和T1具有相同的優先級, P2和T2一樣。

但是,Windows給當前的前臺應用程序提供了一個優先級提升,所以前臺進程中的線程將比後臺進程中的線程獲得更多或更長的時間片。

如果您的應用程序受到此優先級提升的影響,那麼將其分成單獨的進程意味着只有一個進程受益於提升。如果你在一個進程中使用多個線程,那麼所有的線程都能從這個提升中受益

+0

我有一個想法,即Windows在進程組中調度線程(即它選擇進程然後是線程),但是這種印象可能受到前臺優先級提升事件的影響。 – 2011-11-10 22:43:10

+0

剛剛檢查了一些系統內部的文件的東西。是的,線程,就像Linux一樣。 – 2011-11-10 22:48:41