为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

2 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

并发跟并行不是一回事。多核跟多线程也不是一回事。多线程是为了最大效率利用单核CPU的性能。
用户级线程对于系统来说,都是作为一个进程看待。线程切换由用户自己控制。系统级线程需要在用户态跟内核态中切换,系统控制。
3.能不能我不知道。不过如果不能的话,就要粗大事了。
                            
查看完整回答
反对 回复 2019-04-09
  • 2 回答
  • 0 关注
  • 417 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信