【java基础】【Thread类使用】

java.lang.Thread

使用时不用导包

属性

1、public static final int MAX_PRIORITY

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

2、public static final int MIN_PRIORITY

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

3、public static final int NORM_PRIORITY

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

构造方法

1、public Thread()

分配新的 Thread 对象。

2、public Thread(Runnable target)

分配新的 Thread 对象。

3、public Thread(String name)

4、public Thread(ThreadGroup group, Runnable target)

5、public Thread(ThreadGroup group, Runnable target, String name)

6、public Thread(ThreadGroup group, Runnable target, String name, long stackSize)

分配新的 Thread 对象,以便将 target 作为其运行对象,将指定的 name 作为其名称,作为 group 所引用的线程组的一员,并具有指定的堆栈大小。 

7、public Thread(ThreadGroup group, String name)

方法

1、public static int activeCount()

返回当前线程的线程组中活动线程的数目。 

2、public final void checkAccess()

判定当前运行的线程是否有权修改该线程。 

3、public static Thread currentThread()

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

4、public static void dumpStack()

将当前线程的堆栈跟踪打印至标准错误流。该方法仅用于调试。

5、public static int enumerate(Thread[] tarray)

将当前线程的线程组及其子组中的每一个活动线程复制到指定的数组中。该方法只调用当前线程的线程组的 enumerate 方法,且带有数组参数。 

6、public static Map<Thread,StackTraceElement[]> getAllStackTraces()

返回所有活动线程的堆栈跟踪的一个映射。映射键是线程,而每个映射值都是一个 StackTraceElement 数组,该数组表示相应 Thread 的堆栈转储。返回的堆栈跟踪的格式都是针对 getStackTrace 方法指定的。

7、public ClassLoader getContextClassLoader()

返回该线程的上下文 ClassLoader。

8、public static Thread.UncaughtExceptionHandler getDefaultUncaughtExceptionHandler()

返回线程由于未捕获到异常而突然终止时调用的默认处理程序。如果返回值为 null,则没有默认处理程序。

9、public long getId()

返回该线程的标识符。线程 ID 是一个正的 long 数,在创建该线程时生成。线程 ID 是唯一的,并终生不变。线程终止时,该线程 ID 可以被重新使用。

10、public final String getName()

返回该线程的名称。 

11、public final int getPriority()

返回线程的优先级。 

12、public StackTraceElement[] getStackTrace()

返回一个表示该线程堆栈转储的堆栈跟踪元素数组。如果该线程尚未启动或已经终止,则该方法将返回一个零长度数组。如果返回的数组不是零长度的,则其第一个元素代表堆栈顶,它是该序列中最新的方法调用。最后一个元素代表堆栈底,是该序列中最旧的方法调用。

13、public Thread.State getState()

返回该线程的状态。 该方法用于监视系统状态,不用于同步控制。

14、public final ThreadGroup getThreadGroup()

返回该线程所属的线程组。 如果该线程已经终止(停止运行),该方法则返回 null。

15、public Thread.UncaughtExceptionHandler getUncaughtExceptionHandler()

返回该线程由于未捕获到异常而突然终止时调用的处理程序。如果该线程尚未明确设置未捕获到的异常处理程序,则返回该线程的 ThreadGroup 对象,除非该线程已经终止,在这种情况下,将返回 null。

16、public static boolean holdsLock(Object obj)

当且仅当当前线程在指定的对象上保持监视器锁时,才返回 true。 
该方法旨在使程序能够断言当前线程已经保持一个指定的锁:

     assert Thread.holdsLock(obj);

17、public void interrupt()

中断线程。

18、public static boolean interrupted()

测试当前线程是否已经中断。线程的中断状态 由该方法清除。换句话说,如果连续两次调用该方法,则第二次调用将返回 false(在第一次调用已清除了其中断状态之后,且第二次调用检验完中断状态前,当前线程再次中断的情况除外)。 

19、public final boolean isAlive()

测试线程是否处于活动状态。如果线程已经启动且尚未终止,则为活动状态。

20、public final boolean isDaemon()

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

21、public boolean isInterrupted()

测试线程是否已经中断。线程的中断状态 不受该方法的影响。 

线程中断被忽略,因为在中断时不处于活动状态的线程将由此返回 false 的方法反映出来。

22、public final void join() throws InterruptedException

等待该线程终止。 

23、public final void join(long millis) throws InterruptedException

等待该线程终止的时间最长为 millis 毫秒。超时为 0 意味着要一直等下去。

24、public final void join(long millis, int nanos) throws InterruptedException

等待该线程终止的时间最长为 millis 毫秒 + nanos 纳秒。 

25、public void run()

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

26、public void setContextClassLoader(ClassLoader cl)

设置该线程的上下文 ClassLoader。上下文 ClassLoader 可以在创建线程设置,并允许创建者在加载类和资源时向该线程中运行的代码提供适当的类加载器。

27、public final void setDaemon(boolean on)

将该线程标记为守护线程或用户线程。当正在运行的线程都是守护线程时,Java 虚拟机退出。该方法必须在启动线程前调用。 

该方法首先调用该线程的 checkAccess 方法,且不带任何参数。这可能抛出 SecurityException(在当前线程中)。 

28、public static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)

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

29、public final void setName(String name)

改变线程名称,使之与参数 name 相同。

30、public final void setPriority(int newPriority)

更改线程的优先级。 

31、public void setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)

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

32、public static void sleep(long millis) throws InterruptedException

在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。该线程不丢失任何监视器的所属权。

33、public static void sleep(long millis, int nanos) throws InterruptedException

在指定的毫秒数加指定的纳秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。该线程不丢失任何监视器的所属权。

34、public void start()

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

35、public static void yield()

暂停当前正在执行的线程对象,并执行其他线程。

36、public String toString()

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值