Java 与等待/通知机制相比,倒计时闩锁的优势是什么?
我读过这个答案: 我知道这两个过程是不同的Java 与等待/通知机制相比,倒计时闩锁的优势是什么?,java,multithreading,Java,Multithreading,我读过这个答案: 我知道这两个过程是不同的 倒计时锁存是一种新的机制,而等待/通知是一种全新的机制 线程间的协同方式 wait是对象的一种方法,wait是倒计时锁存的一种方法 使用倒计时锁存器更容易、更干净等 我的问题更多的是功能方面: 是否存在等待/通知机制无法解决但只能通过倒计时锁存器解决的情况 如果没有,那么从功能上讲,CountDownlatch的引入只是为了使线程之间的协调更容易、更清晰,对吗?java.util.concurrent中的类旨在使某些多线程场景更易于编码和管理。您可以
如果没有,那么从功能上讲,CountDownlatch的引入只是为了使线程之间的协调更容易、更清晰,对吗?java.util.concurrent中的类旨在使某些多线程场景更易于编码和管理。您可以使用低级构造,例如
wait
和notify
,但您确实需要知道自己在做什么
以下是API的摘录:
在并发编程中常用的实用程序类。这
该包包括一些小型的标准化可扩展框架,如
以及一些提供有用功能和
在其他方面单调乏味或难以实施
java.util.concurrent
中的类旨在使某些多线程场景更易于编码和管理。您可以使用低级构造,例如wait
和notify
,但您确实需要知道自己在做什么
以下是API的摘录:
在并发编程中常用的实用程序类。这
该包包括一些小型的标准化可扩展框架,如
以及一些提供有用功能和
在其他方面单调乏味或难以实施
当然,您可以创建相同的功能,只需等待、通知、同步等。CountDownLatch是使用此类原语实现的普通Java类。有关详细信息,您可以查看实际的源代码:确保您只需使用wait、notify、synchronized等创建相同的功能。CountDownLatch是使用此类原语实现的普通Java类。有关详细信息,您可以查看实际的源代码:考虑一种情况,如果满足条件,您可能不想等待。你可以弄脏你的手,探测锁,但这通常是马车 倒计时锁起到了解救作用,是为了方便,但不仅仅是为了解决等待/通知范例 我们还想到了倒计时闩锁作为一种等待多种条件的方式的明显用途
为什么要在第一方可以使用的情况下重新发明轮子?考虑一种情况,如果满足条件,您可能不想等待。你可以弄脏你的手,探测锁,但这通常是马车 倒计时锁起到了解救作用,是为了方便,但不仅仅是为了解决等待/通知范例 我们还想到了倒计时闩锁作为一种等待多种条件的方式的明显用途 为什么要在第一方可以使用的情况下重新发明轮子?你说的是“原始”,但你真正的意思是等待/通知是比倒计时更低级的抽象。如果您想创建自己版本的CountdownLatch,那么在实现中使用wait和notify是有意义的,但是在实现自己版本的wait/notify时使用CountdownLatch是没有意义的。您说的是“原始”,但您真正的意思是wait/notify的抽象级别低于CountdownLatch。如果您想创建自己版本的CountdownLatch,在实现中使用wait和notify是有意义的,但在实现自己版本的wait/notify时使用CountdownLatch是没有意义的。