gpt4 book ai didi

java - 如何让 ExecutorService 创建 n 个线程执行完全相同的任务?

转载 作者:行者123 更新时间:2023-12-02 01:25:37 24 4
gpt4 key购买 nike

我正在关注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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com