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