- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要有 3 个线程同时执行一项任务,并且我想要一个线程在一段时间内执行计划任务(每 10 秒运行一次)。但我希望当 3 个线程完成时仅运行一次计划任务,然后我希望该线程终止。实现这些线程的最佳方法是什么? ExecutorService接口(interface)是否适合这个?
最佳答案
这是我刚刚编写的示例:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
public class Example {
public static void main(String[] args) throws InterruptedException {
ScheduledFuture future = Executors.newScheduledThreadPool(1).scheduleAtFixedRate(new MyScheduledTask(), 0, 10, TimeUnit.SECONDS);
ExecutorService executor = Executors.newFixedThreadPool(3); // pool composed of 3 threads
for (int i = 0; i < 3; i++) {
// for the example assuming that the 3 threads execute the same task.
executor.execute(new AnyTask());
}
// This will make the executor accept no new threads
// and finish all existing threads in the queue
executor.shutdown();
// expect current thread to wait for the ending of the 3 threads
executor.awaitTermination(Long.MAX_VALUE, TimeUnit.TimeUnit.NANOSECONDS);
future.cancel(false); // to exit properly the scheduled task
// reprocessing the scheduled task only one time as expected
new Thread(new ScheduledTask()).start();
}
}
class MyScheduledTask implements Runnable {
@Override
public void run() {
//Process scheduled task here
}
}
class AnyTask implements Runnable {
@Override
public void run() {
//Process job of threads here
}
}
关于java - 在其他线程完成后调度周期性任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13041708/
我已经完成了创建和启动计时器的手册页。 http://man7.org/linux/man-pages/man2/timerfd_create.2.html 但是,除了 arm(start) 和 di
我正在用 opengl 编写新的代码库,很早就遇到了一个奇怪的错误。这是帧速率的明显波动,具有重复性和可预测性。 我知道它肯定与渲染的对象成正比。它也与屏幕大小成正比(不是视口(viewport)大小
我知道如何使用计算数组中点之间的欧几里得距离 scipy.spatial.distance.cdist 类似于这个问题的答案: Calculate Distances Between One Poin
我想使用 CGAL 构造周期性 3D Delaunay 三角剖分和信息(在本例中为整数)。对于 2D,如果我构造一个 vector 对(点,信息)并将其传递给三角测量函数,则效果很好。然而,非常类似的
每隔几天,我们就会收到少量 MySql 超时错误,这些错误与我们的 MySQL RDS 实例上的 CPU 和数据库连接出现大量峰值相对应。这些查询通常非常快(<5 毫秒),但突然超时。 此时,数据库操
我是一名优秀的程序员,十分优秀!