JAVA
whiteQ777
这个作者很懒,什么都没留下…
展开
-
sleep()和wait()方法的区别
sleep方法是Thread类的静态方法,wait()是Object超类的成员方法 调用sleep方法的线程不会释放对象锁,而调用wait() 方法会释放对象锁。sleep()方法导致了程序暂停执行指定的时间,让出cpu给其他线程,等到休眠时间结束后,线程进入就绪状态和其他线程一起竞争cpu的执行时间。在调用sleep()方法的过程中,线程不会释放对象锁。 因为sleep() 是static静态...原创 2019-11-27 10:24:16 · 307 阅读 · 0 评论 -
wait(), notify()和notifyAll()
可以使用wait和notify函数来实现线程间通信。你可以用它们来实现多线程(>3)之间的通信。 永远在synchronized的函数或对象里使用wait、notify和notifyAll,不然Java虚拟机会生成 IllegalMonitorStateException。 永远在while循环里而不是if语句下使用wait。这样,循环会在线程睡眠前后都检查wait的条件,并在条...原创 2019-11-27 10:00:36 · 202 阅读 · 1 评论