【疑惑】Java多线程与操作系统的“用户级线程”/“核心级线程”

翻阅操作系统的书得到两个概念,“用户级线程”和“核心级线程”,而且列举了用户级线程的优缺点。其中,讲到用户级线程的缺点的地方有两点:1、同一进程的多个线程不能真正并行;2、由于线程对操作系统透明,调度处于进程级别,若进程中的一个线程通过系统调用进入操作系统受阻,那么将阻塞该进程
疑惑来了,反思Java的多线程实现是用户级线程:
1、那么Java的多线程实现并发怎么回事,难道骗人的?(CPU多核?)
2、用户级线程调度发生在进程级别,与核心级线程的调度有何区别。
3、网上看到这一说法,求证:内核级线程可以享受到多核的好处?那用户级线程就不能?(参照第一条)
料青山看我应如是
浏览 418回答 2
2回答

Smart猫小萌

并发跟并行不是一回事。多核跟多线程也不是一回事。多线程是为了最大效率利用单核CPU的性能。用户级线程对于系统来说,都是作为一个进程看待。线程切换由用户自己控制。系统级线程需要在用户态跟内核态中切换,系统控制。3.能不能我不知道。不过如果不能的话,就要粗大事了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript