基於long pull實現簡易的消息系統參考

  • 2022 年 3 月 24 日
  • 筆記

我们都用过消息中间件,它的作用自不必多说。但对于消费者却一直有一些权衡,就是使用push,还是pull模式的问题,这当然是各有优劣。当然,这并不是本文想讨论的问题。我们想在不使用长连接的情意下,如何实现实时的消息消费,而不至于让server端压力过大。大体上来说,这是一种主动拉取pull的方式。具体 …

Continue Reading

Java高級:條件隊列與同步器Synchronizer的原理+AQS的應用

  • 2021 年 12 月 24 日
  • 筆記

14. 构建自定义的同步工具 类库中包含了许多存在状态依赖性的类,例如 FutureTask , Semaphore和 BlockingQueue等。在这些类中的一些操作中有着基于状态的前提条件,例如,不能从一个空的队列中删除元素,或者获取一个尚未结束的任务的计算结果,在这些操作可以执行之前,必须等 …

Continue Reading

Java—CountDownLatch使用詳解

  • 2020 年 5 月 20 日
  • 筆記

CountDownLatch介绍 CountDownLatch概述 CountDownLatch 一般用作多线程倒计时计数器,强制它们等待其他一组( CountDownLatch 的初始化决定)任务执行完成。 有一点要说明的是 CountDownLatch 初始化后计数器值递减到0的时候,不能再复原 …

Continue Reading