Java中sleep方法和wait方法的区别

 时间:2026-02-15 22:09:06

1、区别: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁)。  

Java中sleep方法和wait方法的区别

2、wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,离沃而sleep可以在任何地方使用(使用范围),  sleep必须捕获异常,而wait,notify和notifyAll不塑此夏需要捕获异常  。

Java中sleep方法和wait方法的区别

3、sleep方法属于Thread类中方法,表示让一个线程进入睡眠状态,等待一定的时间之后,自动醒来进入到可运行状态,不会马上进入运行状态,因为线程调度机制恢复线程的运行也需要时间,一个线程对象调用了sleep方法之后,并不会释放他所持有的所有对象锁,所以也就不会影响其他进程对象的运行。

4、wait属于Object的成员方法,一旦一个对象调用了wait方法,必须要采用notify()和notifyAll()方法唤醒该进程;如果线程拥有某个或某些对象的同步锁,那国狠么在调用了wait()后。

Java中sleep方法和wait方法的区别

Java中sleep方法和wait方法的区别

5、这个线程就会释放它持有的所有同步资源,而不限于这个被调用了wait()方法的对象。wait()方法也同样会在wait的过程中有可能被其他对象调用interrupt()方法而产生  。

Java中sleep方法和wait方法的区别

Java中sleep方法和wait方法的区别

  • 恶魔城:暗影之王攻略:[31]电力实验室
  • FL Studio中的Wasp XT合成器功能
  • 鬼泣怎么获得维吉尔
  • DOTA2祸乱之源定位及加点
  • 幕府将军2全面战争武士弓队
  • 热门搜索
    trf是什么意思 燕子掌的养殖方法 初音未来是什么 赏心悦目的意思是什么 catti是什么 什么是车船税 产后恶露是什么 送老师应该送什么花 bra是什么意思中文 星鲨维生素d滴剂