sleep() wait() 区别
wait()和sleep()最大的不同在于:wait()会释放对象锁,而sleep()不会!
sleep()不同的是,线程调用此方法后,会休眠一段时间,休眠期间,会暂时释放cpu,但并不释放对象锁。也就是说,在休眠期间,其他线程依然无法进入此代码内部。休眠结束,线程重新获得cpu,执行代码。
wait函数休息一会儿,对象的锁你们拿去用吧,CPU也给你们。
wait函数的线程会一直等待,直到有其他线程调用了同一个对象的notify或者notifyAll方法才能被唤醒,
网友评论