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. 在用戶空間或內核空間中創建Java線程嗎?
- 3. 用戶空間和內核線程之間的共享內存
- 4. 的Linux用戶空間線程,內核線程,輕量級進程
- 5. 用戶空間線程庫
- 6. Java線程和POSIX線程,用戶或內核級別?
- 7. 從內核線程爲用戶空間分配內存
- 8. 如何使用mmap共享用戶空間和內核線程
- 9. Java線程或Cuda線程
- 10. 用戶線程v.s.內核線程
- 11. 顯示內核空間中的遠程線程的回溯
- 12. 多線程程序在C:計算線程堆棧空間
- 13. 線程在用戶空間和產量
- 14. 內核驅動程序或用戶空間驅動程序?
- 15. 通過windows內核驅動程序調度用戶空間線程
- 16. java線程中斷,線程爲空
- 17. 從FreeBSD的內核核心轉儲中提取用戶空間線程堆棧
- 18. 由於所有用戶線程都映射到內核線程,用戶線程以內核模式運行?
- 19. 對於arm Linux,用戶空間中的線程是否可以訪問內核空間的虛擬地址?
- 20. 可變內文件或線程間?
- 21. 使用`pthread_create`創建一個用戶級線程或內核級線程?
- 22. 內核線程和用戶線程之間的關係是什麼?
- 23. 要線程或不線程
- 24. 內存分配內核空間和用戶空間進程
- 25. Linux時間分割進程或線程
- 26. 在內核空間中跟蹤用戶線程的使用壽命
- 27. 線程「線程-8」中的異常java.lang.OutOfMemoryError:Java堆空間
- 28. 線程「線程-2」中的異常java.lang.OutOfMemoryError:Java堆空間
- 29. 進程vs線程(用戶vs內核)
- 30. Python中的線程 - 線程或進程?
平臺和實現特定的。 – 2010-11-12 01:39:28