• java.lang.Thread、java.lang.ThreadGroup和java.lang.ThreadLocal<T>详细解读


    一、Thread类

      public class Thread extends Object  impments Runnable

      线程是程序中的 执行线程。java虚拟机允许应用程序并发地运行多个执行线程

      每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程。每个线程都可以或不可以标记为一个守护线程。当某个线程中运行的代码创建一个新Thread,该新线程的初始优先级被设定为创建线程的优先级,并且当且仅当创建线程是守护线程时,新线程才是守护线程。

      当java虚拟机启动时,通常都会有单个非守护线程(它通常会调用某个指定类的main方法)。java虚拟机会继续执行线程,直到下列任一情况出现时为止

      * 调用了Runtime类的exit方法,并且安全管理器允许退出操作发生

      *非守护线程的所有线程都已经停止运行,无论是通过对run方法的通用中返回,还是通过抛出一个传播run方法之外的异常

      创建新线程有两种方法。一种方法是将类声明为Thread类的子类。改类应该重写Thread类中的run方法。接下来可以分配并启动改子类的实例

                 创建线程的另外一种方法是声明实现Runnable接口的类。该类实现了run方法,然后可以分配该类的实例。在创建Thread时作为一个参数来传递并启动

      每个线程都有一个标识名,多个线程可以同名。如果线程创建时没有指定标识名,就会为其生成一个新名称。

    两个嵌套类

      Thread.State 线程状态 六种状态(new  runnable bolcked waiting timed_waiting terminated)

      Thread.UncaughtExceptionHandler 当Thread 因未捕获的异常而突然中止时,调用处理程序接口

    三个字段摘要

      max_priority 线程可以具有的最高优先级

      min_priority 线程可以具有的最低优先级

      norm_priority 分配给线程的默认优先级

    八个构造方法

      Thread(); 分配新的Thread对象

      Thread(Runnable target) 分配新的Thread对象

      Thread(Runnable target,String name) 分配新的Thread对象,并且指定线程的名称

      Thread(String name) 分配新的Thread对象,并且指定线程的名称

      Thread(ThreadGroup group,Runnable target) 分配新的Thread,并且指定线程组

      Thread(ThreadGroup group ,Runnable target,String name) 分配新的Thread 并且指定线程组和该线程的名称

      Thread(ThreadGroup group,Runnable target,String name,long stackSize) 指定堆栈大小

      Thread(ThreadGroup group,String name) 分配新的Thread对象,并且指定线程组合改线程的名称

    24个方法摘要其中有过期的方法

      

     

      

  • 相关阅读:
    mac安装go环境
    Ubuntu-Mininet安装
    安装pyenv
    linux下安装weblogic
    C#常用方法
    jenkins部署net core ——2
    jenkins部署net core ——1
    Inno Steup
    安装两个SQL server 实例
    C#线程启动、暂停、恢复、停止怎么实现
  • 原文地址:https://www.cnblogs.com/hanxue112253/p/8301425.html
Copyright © 2020-2023  润新知