Thread的常用方法

Thread的常用方法

方法说明
yield()释放当前cpu的执行权。不会释放锁
join()将某个线程插入到当前线程,使当前线程进入阻塞状态,直到插入的线程执行完,当前线程才结束阻塞状态。
sleep()使当前线程进入阻塞状态,阻塞指定的毫秒数。 不会释放锁
interrupt()中断线程。只能中断阻塞过程中的线程而不能中断正在运行过程中的线程。如sleep();
wait()使当前线程进入阻塞状态,并释放同步锁
notify()唤醒一个wait线程。
notifyAll()唤醒所有wait线程

注意:wait、notify和notifyAll方法是Object类的final native方法。它们只能在同步方法或同步块内部调用,否则会出现IllegalMonitorStateException异常
sleep()和wait()的异同:
相同:都可以使当前线程进入阻塞状态。
不同:

  1. 声明的位置不同,sleep声明在Thread类中,wait声明在Object中。
  2. 调用的要求不同:sleep任何场景下都可以调用,而wait只能在同步方法或同步块内部中调用。
  3. wait会主动释放锁,sleep不会释放锁。

线程的生命周期

在这里插入图片描述

线程的优先级

  1. MAX_PRIORITY=10
  2. MIN_PRIORITY=1
  3. NORM_PRIORITY=5 默认优先级

可通过getPriority()获取线程优先级,setPriority()设置线程优先级。

注意:高优先级只是高概率被执行,并不意味着高优先级的程序被执行完,低概率的才执行

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值