zoukankan      html  css  js  c++  java
  • Java 并发 线程属性

    Java 并发 线程属性

    @author ixenos

    线程优先级


    1.每当线程调度器有机会选择新线程时,首先选择具有较高优先级的线程

    2.默认情况下,一个线程继承它的父线程的优先级

    当在一个运行的线程A里,创建另一个线程B的时候,那么A是父线程,B是子线程。
    当在一个运行的线程A里,创建线程B,然后又创建了线程C,这时候虽然B比C创建早,可是B并不是C的父线程,而A是B和C的父线程。

    3.线程的优先级高度依赖于系统,当虚拟机依赖于宿主机平台的线程实现机制时,Java线程的优先级被映射到宿主机平台的优先级上!优先级个数也许更多也许更少(Java有10个优先级)

    4.如果有几个高优先级的线程没有进入非活动状态,低优先级的线程可能永远也不能执行!因为每当调度器决定运行一个新线程时,首先会在具有高优先级的线程中进行选择,这样就可能会使低优先级的线程完全饿死。

    守护线程


    1.守护线程的唯一用途是为其他线程提供服务(计时线程就是一个例子)

    2.当只剩下守护线程时,虚拟机就退出了

    3.守护线程应该永远不去访问固有资源(文件、数据库),因为它会在任何时候发生中断

    4.调用 t.setDaemon(true); 将线程转换为守护线程

    未捕获异常处理器


    1.线程的run方法不能抛出任何被检测的异常,但是不被检测的异常会导致线程终止!但我们不需要任何catch子句去处理异常,因为在线程死亡之前,异常被传递到一个用于未捕获异常的处理器

    2.(未完待续 Thinking in Java)

  • 相关阅读:
    SpringBoot读取Resource下文件的几种方式(十五)
    Springboot+vue前后端分离文件上传、下载方式及与Spring的异同(十四)
    springboot多个service互相调用的事务处理(十三)
    Bigdecimal用法
    Linux常见wenti
    informix常见问题
    Spring-boot常见问题(十二)
    浅析VO、DTO、DO、PO的概念、区别和用处(八)
    Tbase读写分离与分库分表
    函数的节流和抖动
  • 原文地址:https://www.cnblogs.com/ixenos/p/6216225.html
Copyright © 2011-2022 走看看