Java.lang.Thread 类


介绍

java.lang.Thread类程序中的执行线程。Java 虚拟机允许应用程序同时运行多个执行线程。以下是有关线程的要点 -

  • 每个线程都有一个优先级。优先级较高的线程优先于优先级较低的线程执行

  • 每个线程可能也可能不被标记为守护进程。

  • 有两种方法可以创建新的执行线程。一种是将一个类声明为 Thread 的子类,并且,

  • 创建线程的另一种方法是声明一个实现 Runnable 接口的类

类别声明

以下是java.lang.Thread类的声明-

public class Thread
   extends Object
      implements Runnable

场地

以下是java.lang.Thread类的字段-

  • static int MAX_PRIORITY - 这是线程可以拥有的最大优先级。

  • static int NORM_PRIORITY - 这是分配给线程的默认优先级。

类构造函数

先生。 构造函数及描述
1

线()

这会分配一个新的 Thread 对象。

2

线程(可运行目标)

这会分配一个新的 Thread 对象。

3

线程(可运行目标,字符串名称)

这会分配一个新的 Thread 对象。

4

线程(字符串名称)

此构造分配一个新的 Thread 对象。

5

线程(ThreadGroup组,可运行目标)

这会分配一个新的 Thread 对象。

6

Thread(ThreadGroup 组、可运行目标、字符串名称)

这将分配一个新的 Thread 对象,使其以 target 作为其运行对象,以指定的名称作为其名称,并属于 group 引用的线程组。

7

线程(ThreadGroup 组、可运行目标、字符串名称、长堆栈大小)

这将分配一个新的 Thread 对象,使其以 target 作为其运行对象,以指定的名称作为其名称,属于 group 引用的线程组,并具有指定的堆栈大小。

8

Thread(ThreadGroup 组, 字符串名称)

这会分配一个新的 Thread 对象。

类方法

先生。 方法及说明
1 静态 int activeCount()

该方法返回当前线程的线程组中活动线程的数量。

2 无效检查访问()

该方法判断当前运行的线程是否有权限修改该线程。

3

受保护的对象克隆()

如果该对象的类是 Cloneable,则此方法返回一个克隆。

4 静态线程 currentThread()

此方法返回对当前正在执行的线程对象的引用。

5 静态无效转储堆栈()

此方法将当前线程的堆栈跟踪打印到标准错误流。

6 静态 int 枚举(Thread[] tarray)

此方法将当前线程的线程组及其子组中的每个活动线程复制到指定的数组中。

7 static Map<Thread,StackTraceElement[]> getAllStackTraces()

此方法返回所有活动线程的堆栈跟踪映射。

8 类加载器 getContextClassLoader()

该方法返回该线程的上下文类加载器。

9 静态 Thread.UncaughtExceptionHandler getDefaultUncaughtExceptionHandler()

此方法返回当线程由于未捕获的异常而突然终止时调用的默认处理程序。

10 长 getId()

该方法返回该线程的标识符。

11 字符串 getName()

该方法返回该线程的名称。

12 int getPriority()

此方法返回该线程的优先级。

13 StackTraceElement[] getStackTrace()

此方法返回表示该线程的堆栈转储的堆栈跟踪元素数组。

14 Thread.State getState()

该方法返回该线程的状态。

15 线程组 getThreadGroup()

该方法返回该线程所属的线程组。

16 Thread.UncaughtExceptionHandler getUncaughtExceptionHandler()

此方法返回当该线程由于未捕获的异常而突然终止时调用的处理程序。

17 号 静态布尔持有锁(对象 obj)

当且仅当当前线程持有指定对象的监视器锁时,此方法返回 true。

18 无效中断()

该方法会中断该线程。

19 静态布尔中断()

该方法测试当前线程是否被中断。

20 布尔值 isAlive()

该方法测试该线程是否存活。

21 布尔 isDaemon()

该方法测试该线程是否为守护线程。

22 布尔值 isInterrupted()

该方法测试该线程是否已被中断。

23 无效连接()

等待该线程死亡。

24 无效连接(长毫秒)

最多等待 millis 毫秒该线程终止。

25 void join(长毫秒,int 纳秒)

最多等待 millis 毫秒加上 nanos 纳秒,该线程就会终止。

26 无效运行()

如果该线程是使用单独的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,此方法不执行任何操作并返回

27 void setContextClassLoader(ClassLoader cl)

该方法为此线程设置上下文类加载器。

28 void setDaemon(布尔值)

此方法将此线程标记为守护线程或用户线程。

29 static void setDefaultUncaughtExceptionHandler (Thread.UncaughtExceptionHandler 呃)

此方法设置当线程由于未捕获的异常而突然终止时调用的默认处理程序,并且尚未为该线程定义其他处理程序。

30 void setName(字符串名称)

此方法将此线程的名称更改为等于参数名称。

31 无效 setPriority(int newPriority)

此方法更改该线程的优先级。

32 void setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler 呃)

此方法设置当该线程由于未捕获的异常而突然终止时调用的处理程序。

33 静态无效睡眠(长毫秒)

此方法使当前正在执行的线程Hibernate(暂时停止执行)指定的毫秒数,具体取决于系统计时器和调度程序的精度和准确性。

34 静态无效睡眠(长毫秒,整数纳秒)

此方法使当前正在执行的线程Hibernate(停止执行)指定的毫秒数加上指定的纳秒数,具体取决于系统计时器和调度程序的精度和准确性。

35 无效开始()

该方法使该线程开始执行;Java虚拟机调用该线程的run方法。

36 字符串转字符串()

此方法返回该线程的字符串表示形式,包括线程的名称、优先级和线程组。

37 静态无效产量()

该方法使当前正在执行的线程对象暂时暂停并允许其他线程执行。

继承的方法

该类继承了以下类的方法 -

  • java.lang.Object