java线程的sleep、yield、wait、join方法

  1. sleep()方法
    运行中的线程,执行sleep()方法,放弃CPU,转到阻塞状态。但不会放弃占有的资源,例如锁。sleep()时间结束,进入可运行状态。
  2. yield()方法
    执行yield()方法,如果此时有相同或更高优先级的其他线程处于就绪状态,那么yield()方法把当前线程放到可运行池中。如果只有相同优先级的线程,那么,该线程可能接着马上执行。如果没有相同或更高优先级线程,则什么也不做。yield()方法并不会释放锁。
  3. wait()方法
    wait方法用于线程通信,与notify,nofityall配合使用。它必须在synchronized语句块内使用。wait()方法使当前线程暂停执行并释放对象锁标示,让其他线程可以进入synchronized数据块,当前线程被放入对象等待池。有关具体的内容,在下面一篇文章中详细讲解。需要注意,该方法是java.lang.Object的方法。
  4. join()方法
    当前运行的线程执行另一个线程的join()方法,当前线程进入阻塞状态,直到另一个线程运行结束,它才会恢复到可就绪状态。join()方法,调用了wait(),因此它会释放锁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值