我正在创建一个分布式服务,并且正在考虑在任何给定时间将一组耗时的操作限制为跨所有 JVM 的单个执行线程。(我将不得不处理最多 3 个 JVM)。
我最初的调查指向 java.util.concurrent.Executors 和 java.util.concurrent.Semaphore。使用单例模式和 Executors 或 Semaphore 并不能保证我可以跨多个 JVM 执行单个线程。
我正在寻找可以用来完成任务的 java 核心 API(或至少是 Pattern)。
PS:我可以在我现有的项目中访问 ActiveMQ,我打算使用它来实现跨多个 JVM 机器的单线程执行,只有在我没有其他选择的情况下。