2010-11-11 81 views
0

進程獲取由OS進程調度程序管理的CPU時間。 由於線程在單個進程內並行運行,這是否意味着進程的CPU時間會在線程之間進一步分佈(切片)? 或者調度程序可以繞過父進程直接在線程之間分配CPU時間嗎?進程內的線程

回答

2

線程由操作系統運行/調度,因此它們獲得自己的CPU時間。進程CPU時間只是進程中所有線程的CPU時間總和。

如果您希望自己的進程安排任務,則應該使用光纖(Windows)。這些是一種線程,但它們不是由操作系統安排的。該過程應該處理光纖本身的調度。

4

我懷疑答案因操作系統而異。在Windows上,這個過程不僅被繞過,而且完全被忽略 - 調度程序處理的所有內容都是線程。進程只與所有非內核線程必須屬於某個進程的程度有關,每個進程必須包含至少一個線程。

+1

在Linux以及,線程實際上在調度盛放的過程(雖然與父進程共享它們的數據)。 – 2010-11-11 20:10:34