Thread类中的方法可分为实例方法和静态方法,其中实例方法有start()方法,run()方法等,静态方法有currentThread()方法,sleep(long millis)方法等

thread类有哪些方法-LMLPHP

【推荐课程:Java教程

Thread类中的实例方法

start()方法

这个方法的作用就是通知线程规划器此现场可以运行了。要注意,调用start方法的顺序不代表线程启动的顺序,也就是cpu执行哪个线程的代码具有不确定性。

run()方法

这个方法是线程类调用start后所执行的方法,如果直接调用run而不是start方法,那么和普通方法一样没有区别

isAlive()方法

是判断当前线程是否处于活动状态。活动状态就是已经启动尚未终止。

getPriority()和setPriority(int newPriority)方法

这两个方法是用于获取当前和设置线程的优先级。优先级高的线程得到的cpu多。也就是说,两个等待的线程,优先级高的线程容易被cpu执行。默认情况下,线程的优先级是5。线程的优先级分为1~10等级。

isDaeMon、setDaemon(boolean on)方法

java线程有两种,一种是用户线程,一种是守护线程。守护线程是一个特殊的线程,任何一个守护线程都是jvm中所有非守护线程的保姆。当进程中不存在非守护线程时,守护线程会自动销毁。典型的守护线程就是垃圾回收线程。

第一个方法是判断线程是不是守护线程,第二个方法是设置线程为守护线程,必须在线程start之前setDaemon(true)

interrupt()方法

使用这个方法不会中断线程。实际上调用interrupt实际作用是在线程受到阻塞时抛出一个中断信号,这样线程就得以退出阻塞状态。

join()方法

join方法会使得调用join方法的线程无限阻塞,直到调用join方法的线程销毁为止,join方法内部使用的是wait(),所以会释放锁。

Thread类的静态方法

currentThread()方法

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

sleep(long millis)方法

sleep方法的作用就是在指定的时间让正在执行的线程休眠。并不释放锁。

yield()方法

暂停当前执行的线程对象,并执行其他线程。这个暂停会放弃cpu资源,放弃的时间不确定

Thread类中的方法调用方式

调用Thread中的方法的时候,在线程类中,有两种方式:

this.xxx()方式

这种方式的线程是线程实例本身

Thread.currentThread.xxx()或Thread.xxx()方式

这种表示线程执行Thread.currenThread.xxx()所在代码块的线程。

总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。

以上就是thread类有哪些方法的详细内容,更多请关注Work网其它相关文章!

09-10 19:44