Java和C#的線程是基於用戶空間線程還是內核空間線程?Java或C#的線程基於用戶空間線程或內核空間線程?
回答
在C#中,線程是OS線程,或由線程池支持,線程池由操作系統線程組成。操作系統線程同時使用用戶和內核資源。
請注意,.NET線程隨時可以自由移動到不同的操作系統線程(儘管不知道Java)。這就是爲什麼只有一個託管線程ID。 – Cameron 2012-06-29 00:46:14
在Linux中,我明白它們是用戶空間線程。
Linux內核空間線程實際上是操作系統的一部分,通常以高權限運行,以便他們可以訪問任何進程的地址空間。在Linux上使用內核空間線程實現Java或C#線程是不必要的,而且會非常危險。 (這假定它在技術上是可行的......我不認爲是這種情況)。
我認爲海報問是否每個Java/.NET線程是它自己的內核可見線程(即內核空間線程),或者是否有很多Java/.NET線程按使用空間調度意味着使用單個內核可見線程(即用戶空間線程或*輕量級線程*)。 – Karmastan 2010-11-13 23:20:41
@Karmastan - 如果他這樣做,他會使用錯誤的術語。在Linux中確實有內核*空間*線程;即通過訪問物理設備運行的線程等。 – 2010-11-14 07:23:07
- 1. Python線程模塊創建用戶空間線程或內核特殊線程
- 2. 用戶空間線程庫
- 3. 的Linux用戶空間線程,內核線程,輕量級進程
- 4. Java線程和POSIX線程,用戶或內核級別?
- 5. 從內核線程爲用戶空間分配內存
- 6. Java線程或Cuda線程
- 7. 顯示內核空間中的遠程線程的回溯
- 8. 多線程程序在C:計算線程堆棧空間
- 9. 線程在用戶空間和產量
- 10. 從FreeBSD的內核核心轉儲中提取用戶空間線程堆棧
- 11. 使用`pthread_create`創建一個用戶級線程或內核級線程?
- 12. 內核線程和用戶線程之間的關係是什麼?
- 13. 要線程或不線程
- 14. 內存分配內核空間和用戶空間進程
- 15. Linux時間分割進程或線程
- 16. 進程vs線程(用戶vs內核)
- 17. Python中的線程 - 線程或進程?
- 18. 爲用戶空間線程庫編寫調度程序
- 19. 用戶線程與內核線程的多對一映射
- 20. 多線程相同的地址空間
- 21. 線程在別人的地址空間
- 22. Java多核線程 - 線程未結束
- 23. 在用戶空間和內核空間上執行進程
- 24. 用戶空間vs內核空間驅動程序
- 25. 線程「JavaFX應用程序線程」中的異常java.lang.OutOfMemoryError:Java堆空間
- 26. 作爲線程調用的C函數 - Linux的用戶空間程序
- 27. 使用線程池或線程
- 28. 更多線程或空循環?
- 29. PCLs:「無法找到類型或命名空間名稱」線程「
- 30. 線程或進程
平臺和實現特定的。 – 2010-11-12 01:39:28