1.sleep():是线程类(Thread)的静态方法,让调用线程进入睡眠状态,让出执行机会给其他线程,等到休眠时间结束后,线程进入就绪状态和其他线程一起竞争cpu的执行时间,因为sleep()是static静态的方法,他不能改变对象的机锁,当一个synchoronized块中调用看sleep()方法,线程虽然进入休眠,但是对象的机锁没有被释放,其他线程依然无法访问这个对像。
2.wait():wait()是object()的方法,当一个线程执行到wait方法时,它就进入到一个和该对象相关的等待池,同时释放队对象的机锁,使得其他线程能够访问,可以通过notify,notifyall方法来唤醒等待的线程。
sleep()和wait()的区别
最新推荐文章于 2022-04-12 21:41:57 发布