作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在关注this example
在该示例中,可以创建一个线程池,它将执行 3 个不同的任务。
但是,我只想创建一个由 n 个线程执行的任务。
int numberOfThreads = 2;
ExecutorService executorService = Executors.newFixedThreadPool(numberOfThreads);
Runnable task1 = () -> {
System.out.println("Executing Task1 inside : " +
Thread.currentThread().getName());
try {
TimeUnit.SECONDS.sleep(2);
} catch (InterruptedException ex) {
throw new IllegalStateException(ex);
}
};
executorService.submit(task1, numberOfThreads); // This is not like this obviously
我怎样才能以正确的方式实现这一目标?
最佳答案
这确实没有什么魔力。您所要做的就是多次提交相同的任务,如下所示:
public static void main(String args[]) {
int numberOfThreads = 2;
ExecutorService executorService = Executors.newFixedThreadPool(numberOfThreads);
Runnable task1 = () -> {
System.out.println("Executing Task1 inside : " +
Thread.currentThread().getName());
try {
TimeUnit.SECONDS.sleep(2);
} catch (InterruptedException ex) {
throw new IllegalStateException(ex);
}
};
executorService.submit(task1);
executorService.submit(task1);
}
关于java - 如何让 ExecutorService 创建 n 个线程执行完全相同的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56985143/
我是一名优秀的程序员,十分优秀!