首页 > 编程语言 > 详细

Java多线程基础:Java与线程

时间:2020-05-29 15:04:34      阅读:35      评论:0      收藏:0      [点我收藏+]

Java多线程基础:Java与线程

线程的实现 

使用内核线程实现

  内核线程(Kernel-Level Thread,KLT)就是直接由操作系统内核支持的线程。内核通过操纵调度器对线程进行调度,并负责将线程的任务映射到各个处理器上。

  程序不会直接使用内核线程,而是使用内核线程的一种高级接口——轻量级线程(LWP), 每个轻量级线程都有一个内核线程对应。就像下面这样:

  技术分享图片

 

   每个轻量级进程都需要一个内核线程的支持,因此轻量级进程要消耗一定的内核资源,因此一个系统支持的轻量级进程的数量是有限的

使用用户线程实现

  首先我们要理解什么是用户线程

  从广义上讲,一个线程只要不是内核线程就是用户线程,所以从广义上讲轻量级进程程也属于用户线程,但轻量级进程的实现始终是建立在内核之上的,许多操作都要进行系统调用,效率会受到限制。

  从狭义上讲,一个线程完全建立在用户空间的线程库上,系统内核不感知线程的存在,即使用户线程。这种线程的建立、同步、销毁和调度完全在用户态中完成,不需要内核的帮助

混合实现

 

参考资料

  • 《深入理解Java虚拟机》

Java多线程基础:Java与线程

原文:https://www.cnblogs.com/MrSaver/p/12987454.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!