Thread类中的方法可分为实例方法和静态方法,其中实例方法有start()方法,run()方法等,静态方法有currentThread()方法,sleep(long millis)方法等
【推荐课程: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类有哪些方法的详细内容。更多信息请关注PHP中文网其他相关文章!