标准库的目的提供了支持,以支持等待 /通知方案中的并发问题。通常,它应用于等待特定条件的组。当条件成为条件时,将唤醒一个或全部。
它与一定条件有关。这种情况需要一组合作才能完成。当不满足条件时,所有等待此条件的人都将被阻止。只有这个小组才能通过collaboration.continue符合这种情况。
此条件可以是我们的自定义逻辑表达式。
但是使用少,因为在大多数情况下可以更换它。
以下是数据结构和提供给外界的方法。内部维护等待队列和锁定实例。
您可以查看以下代码并使用连接池。最关键的代码是当链接列表为空时需要调用的方法。使用连接后,连接返回池后,您需要通知其他障碍物以获得连接。
操作结果:
查看源代码,因为该方法的执行逻辑是将其添加到等待队列,然后释放锁,然后将其阻止。唤醒后,它将继续锁定。如果您在呼叫之前不锁定,但是您将在内部解锁,并且执行时会报告错误。
采用上述连接案例来解释它。我使用循环在这里检测到它。如果循环更改为使用,也就是说,只有一旦被判断,错了?您可以先停止思考
上面提到的是,呼叫者也可以使用它来醒来。如果使用该方法,所有这些方法都将被唤醒,然后每个人都将转到链接列表以获得连接。