Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将一项工作延迟一段时间,然后重新开始_Java_Multithreading_Delay_Scheduledexecutorservice - Fatal编程技术网

Java 将一项工作延迟一段时间,然后重新开始

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)

我有一个java类,它将数据写入数据库,然后为每个写入的行向REDIS通道发送一条消息。现在我只想在延迟5秒后发送REDIS消息

现在,该程序执行以下操作:

List<Future<T>> futures = threadPool.invokeAll(tasks, timeoutSeconds, TimeUnit.SECONDS);
List futures=threadPool.invokeAll(任务、timeoutSeconds、TimeUnit.SECONDS);
每个任务对应于一个发布到REDIS频道的任务。如何将所有这些任务的发送延迟5秒,以及如何确保在主线程死亡的情况下,5秒后作业仅由一个工作线程执行

我正在考虑使用ScheduledExecutorService,并将该服务作为独立服务运行。当分配了一个带有时间表的作业时,它会延迟5秒,然后从其池中分配一个工作人员来执行该作业

我需要像馆长框架和锁定机制这样的东西吗

什么是好的设计? 谢谢