Java 将一项工作延迟一段时间,然后重新开始
我有一个java类,它将数据写入数据库,然后为每个写入的行向REDIS通道发送一条消息。现在我只想在延迟5秒后发送REDIS消息 现在,该程序执行以下操作:Java 将一项工作延迟一段时间,然后重新开始,java,multithreading,delay,scheduledexecutorservice,Java,Multithreading,Delay,Scheduledexecutorservice,我有一个java类,它将数据写入数据库,然后为每个写入的行向REDIS通道发送一条消息。现在我只想在延迟5秒后发送REDIS消息 现在,该程序执行以下操作: List<Future<T>> futures = threadPool.invokeAll(tasks, timeoutSeconds, TimeUnit.SECONDS); List futures=threadPool.invokeAll(任务、timeoutSeconds、TimeUnit.SECONDS)
List<Future<T>> futures = threadPool.invokeAll(tasks, timeoutSeconds, TimeUnit.SECONDS);
List futures=threadPool.invokeAll(任务、timeoutSeconds、TimeUnit.SECONDS);
每个任务对应于一个发布到REDIS频道的任务。如何将所有这些任务的发送延迟5秒,以及如何确保在主线程死亡的情况下,5秒后作业仅由一个工作线程执行
我正在考虑使用ScheduledExecutorService,并将该服务作为独立服务运行。当分配了一个带有时间表的作业时,它会延迟5秒,然后从其池中分配一个工作人员来执行该作业
我需要像馆长框架和锁定机制这样的东西吗
什么是好的设计?
谢谢