翻阅操作系统的书得到两个概念,“用户级线程”和“核心级线程”,而且列举了用户级线程的优缺点。其中,讲到用户级线程的缺点的地方有两点:1、同一进程的多个线程不能真正并行;2、由于线程对操作系统透明,调度处于进程级别,若进程中的一个线程通过系统调用进入操作系统受阻,那么将阻塞该进程疑惑来了,反思Java的多线程实现是用户级线程:1、那么Java的多线程实现并发怎么回事,难道骗人的?(CPU多核?)2、用户级线程调度发生在进程级别,与核心级线程的调度有何区别。3、网上看到这一说法,求证:内核级线程可以享受到多核的好处?那用户级线程就不能?(参照第一条)
2 回答
Smart猫小萌
TA贡献1911条经验 获得超7个赞
并发跟并行不是一回事。多核跟多线程也不是一回事。多线程是为了最大效率利用单核CPU的性能。用户级线程对于系统来说,都是作为一个进程看待。线程切换由用户自己控制。系统级线程需要在用户态跟内核态中切换,系统控制。3.能不能我不知道。不过如果不能的话,就要粗大事了。
添加回答
举报
0/150
提交
取消