Java面试过程中10个最难回答的面试题(附答案)
为什么要等待来自 Java中的 synchronized 方法的 wait方法为什么必须从 Java 中的 synchronized 块或方法调用 wait(),notify() 和 notifyAll() 我们主要使用 wait(),notify() 或 notifyAll() 方法用于 Java 中的线程间通信。一个线程在检查条件后正在等待,例如,在经典的生产者 - 消费者问题中,如果缓冲区已满,则生产者线程等待,并且消费者线程通过使用元素在缓冲区中创建空间后通知生产者线程。调用notify()或notifyAll()方法向单个或多个线程发出一个条件已更改的通知,并且一旦通知线程离开synchronized块,正在等待的所有线程正在等待它们正在等待的对象锁定,幸运的线程在重新获取锁之后从wait()方法返回并继续进行。 让我们将整个操作分成几步,以查看Java中wait()和notify()方法之间的竞争条件的可能性,我们将使用Produce Consumer线程示例更好地理解方案: (编辑:帝国网站管理系统) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |