Java.lang - Thread
介绍 (Introduction)
java.lang.Thread类是程序中执行的线程。 Java虚拟机允许应用程序同时运行多个执行线程。以下是关于线程的重点 -
每个线程都有优先权。 具有较高优先级的线程优先于具有较低优先级的线程执行
每个线程可能也可能不会被标记为守护进程。
有两种方法可以创建新的执行线程。 一种是声明一个类是Thread的子类,
创建线程的另一种方法是声明一个实现Runnable接口的类
Class 声明 (Class Declaration)
以下是java.lang.Thread类的声明 -
public class Thread
extends Object
implements Runnable
字段 (Field)
以下是java.lang.Thread类的字段 -
static int MAX_PRIORITY - 这是线程可以拥有的最大优先级。
static int NORM_PRIORITY - 这是分配给线程的默认优先级。
类构造函数
Sr.No. | 构造函数和描述 |
---|---|
1 | Thread() 这会分配一个新的Thread对象。 |
2 | Thread(Runnable target) 这会分配一个新的Thread对象。 |
3 | Thread(Runnable target, String name) 这会分配一个新的Thread对象。 |
4 | Thread(String name) 此构造分配新的Thread对象。 |
5 | Thread(ThreadGroup group, Runnable target) 这会分配一个新的Thread对象。 |
6 | Thread(ThreadGroup group, Runnable target, String name) 这将分配一个新的Thread对象,使其具有target作为其运行对象,具有指定的名称作为其名称,并且属于group引用的线程组。 |
7 | Thread(ThreadGroup group, Runnable target, String name, long stackSize) 这将分配一个新的Thread对象,使其具有target作为其运行对象,具有指定的名称作为其名称,属于group引用的线程组,并具有指定的堆栈大小。 |
8 | Thread(ThreadGroup group, String name) 这会分配一个新的Thread对象。 |
类方法
Sr.No. | 方法和描述 |
---|---|
1 | static int activeCount() 此方法返回当前线程的线程组中的活动线程数。 |
2 | void checkAccess() 此方法确定当前运行的线程是否具有修改此线程的权限。 |
3 | protected Object clone() 如果此对象的类是Cloneable,则此方法返回克隆。 |
4 | static Thread currentThread() 此方法返回对当前正在执行的线程对象的引用。 |
5 | static void dumpStack() 此方法将当前线程的堆栈跟踪打印到标准错误流。 |
6 | static int enumerate(Thread [] tarray) 此方法将当前线程的线程组及其子组中的每个活动线程复制到指定的数组中。 |
7 | static Map <Thread,StackTraceElement []> getAllStackTraces() 此方法返回所有活动线程的堆栈跟踪映射。 |
8 | ClassLoader getContextClassLoader() 此方法返回此Thread的上下文ClassLoader。 |
9 | static Thread.UncaughtExceptionHandler getDefaultUncaughtExceptionHandler() 此方法返回由于未捕获的异常而导致线程突然终止时调用的默认处理程序。 |
10 | long getId() 此方法返回此Thread的标识符。 |
11 | String getName() 此方法返回此线程的名称。 |
12 | int getPriority() 此方法返回此线程的优先级。 |
13 | StackTraceElement [] getStackTrace() 此方法返回表示此线程的堆栈转储的堆栈跟踪元素数组。 |
14 | Thread.State getState() 此方法返回此线程的状态。 |
15 | ThreadGroup getThreadGroup() 此方法返回此线程所属的线程组。 |
16 | Thread.UncaughtExceptionHandler getUncaughtExceptionHandler() 此方法返回此线程由于未捕获的异常而突然终止时调用的处理程序。 |
17 | static boolean holdsLock(Object obj) 当且仅当当前线程在指定对象上保存监视器锁时,此方法返回true。 |
18 | void interrupt() 此方法会中断此线程。 |
19 | static boolean interrupted() 此方法测试当前线程是否已被中断。 |
20 | boolean isAlive() 此方法测试此线程是否处于活动状态。 |
21 | boolean isDaemon() 此方法测试此线程是否为守护程序线程。 |
22 | boolean isInterrupted() 此方法测试此线程是否已被中断。 |
23 | void join() 等待这个线程死亡。 |
24 | void join(long millis) 此线程最多等待毫秒毫秒。 |
25 | void join(long millis,int nanos) 此线程最多等待毫秒毫秒加上纳秒纳秒。 |
26 | void run() 如果使用单独的Runnable运行对象构造此线程,则调用该Runnable对象的run方法; 否则,此方法不执行任何操作并返回 |
27 | void setContextClassLoader(ClassLoader cl) 此方法为此Thread设置上下文ClassLoader。 |
28 | void setDaemon(boolean on) 此方法将此线程标记为守护程序线程或用户线程。 |
29 | static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh) 此方法设置当线程由于未捕获的异常而突然终止时调用的默认处理程序,并且没有为该线程定义其他处理程序。 |
30 | void setName(String name) 此方法将此线程的名称更改为等于参数名称。 |
31 | void setPriority(int newPriority) 此方法更改此线程的优先级。 |
32 | void setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh) 此方法设置在此线程由于未捕获的异常而突然终止时调用的处理程序。 |
33 | static void sleep(long millis) 此方法使当前正在执行的线程休眠(暂时停止执行)指定的毫秒数,具体取决于系统定时器和调度程序的精度和准确性。 |
34 | 静态无效睡眠(long millis,int nanos) 此方法使当前正在执行的线程休眠(停止执行)指定的毫秒数加上指定的纳秒数,具体取决于系统定时器和调度程序的精度和准确性。 |
35 | void start() 此方法导致此线程开始执行; Java虚拟机调用此线程的run方法。 |
36 | String toString() 此方法返回此线程的字符串表示形式,包括线程的名称,优先级和线程组。 |
37 | static void yield() 此方法使当前正在执行的线程对象暂时暂停并允许其他线程执行。 |
方法继承
该类继承以下类中的方法 -
- java.lang.Object