【JMM】线程之简介与分类

扫码关注公众号:Java 技术驿站

发送:vip
将链接复制到本浏览器,永久解锁本站全部文章

【公众号:Java 技术驿站】 【加作者微信交流技术,拉技术群】

文章首发于:clawhub.club


简介:

操作系统中引入进程是为了使多个程序并发执行,改善资源利用率,进程是操作系统中进行除处理器外的资源分配和保护的基本单位。线程是进程中能够并发执行的实体,共享进程的主存空间和资源,是处理器调度和分配的基本单位。

线程组成成分:

  1. 线程的唯一标识符及线程状态信息。
  2. 未运行时所保存的线程上下文,可以把线程看成进程中的一个独立的程序计数器。
  3. 核心栈,在核心态工作时保存参数,在函数调用时的返回地址等。
  4. 用于存放线程局部变量和用户栈的私有存储区。

线程分类

  • 内核级线程
    线程的管理工作由内核完成,优点是:速度快,系统执行效率高。缺点,用户态和内核态模式切换开销大。
  • 用户级线程
    线程的管理由应用程序管理,优点,线程切换无需使用内核特权,可以使用特定的调度算法。缺点:用户级线程阻塞会引起整个进程的阻塞。
  • 混合式线程
    Solaris即支持用户级也支持内核级线程。

JAVA中的线程分类

  • 守护线程
    为用户线程服务的线程:如垃圾回收,内存管理等线程。新建的线程最初都是用户级线程,可以通过setDaemon()方法设置成守护线程。
  • 用户线程
    一般用户使用的线程,通过继承Thread类后者实现Runnable接口等实现的线程。

来源:https://www.jianshu.com/p/347ea7f881f8

赞(0) 打赏
版权归原创作者所有,任何形式的转载请联系博主:daming_90:Java 技术驿站 » 【JMM】线程之简介与分类

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏