弹簧/JAVA连续进程同步



我有四个不同的进程(不同的方法)单独运行,并计划在不同的时间启动。此过程也可以手动启动,并且必须一次运行一个。是否有任何队列实现可以处理这种并发性?我试图避免同一个进程在队列中两次出现,或者两个进程同时运行。

看起来你正在寻找 Executors.newSingleThreadScheduledExecutor():

创建一个单线程执行程序,该执行程序可以计划命令在给定延迟后运行或定期执行。(但请注意,如果此单个线程由于在关闭前执行期间失败而终止,则如果需要执行后续任务,将有一个新的线程代替它。保证任务按顺序执行,并且在任何给定时间不超过一个任务处于活动状态。

除了对并发的需求之外,您的需求似乎更多地与这些进程的许可数量有关。如果是这种情况,您可以使用信号量。

最新更新