相信很多初学者跟当初我一样,面对sleep() 跟wait()这两种方法时是一脸懵逼的。
它们的具体区别如下:
1.sleep()是Thread类里面定义的方法,wait()是Object类里面定义的方法;
2.sleep()需要设置休眠时间时间一到,自动唤醒。wait()可以理解为“某个学生犯了很验证错误,学校让他回家反省一段时间,何时再回来上课等学校‘通知’”。那么通知在java中由哪个函数来体现呢?自然就是notify()。他可以的唤醒正在等待的单个线程。
补充:notifyAll()
唤醒正在等待对象监视器的所有线程。