Java 与等待/通知机制相比,倒计时闩锁的优势是什么?

Java 与等待/通知机制相比,倒计时闩锁的优势是什么?,java,multithreading,Java,Multithreading,我读过这个答案: 我知道这两个过程是不同的 倒计时锁存是一种新的机制,而等待/通知是一种全新的机制 线程间的协同方式 wait是对象的一种方法,wait是倒计时锁存的一种方法 使用倒计时锁存器更容易、更干净等 我的问题更多的是功能方面: 是否存在等待/通知机制无法解决但只能通过倒计时锁存器解决的情况 如果没有,那么从功能上讲,CountDownlatch的引入只是为了使线程之间的协调更容易、更清晰,对吗?java.util.concurrent中的类旨在使某些多线程场景更易于编码和管理。您可以

我读过这个答案:

我知道这两个过程是不同的

  • 倒计时锁存是一种新的机制,而等待/通知是一种全新的机制 线程间的协同方式
  • wait是对象的一种方法,wait是倒计时锁存的一种方法
  • 使用倒计时锁存器更容易、更干净等
  • 我的问题更多的是功能方面:

    是否存在等待/通知机制无法解决但只能通过倒计时锁存器解决的情况


    如果没有,那么从功能上讲,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是没有意义的。