【发布时间】:2018-07-17 13:22:30
【问题描述】:
我的这段代码没有并行执行任务, 在这种情况下它只执行一次代码(无论是在 for 循环中,但它应该是 2):
public class mqDirect {
public static void main(String args[]) throws Exception {
int parallelism = 2;
ExecutorService executorService =
Executors.newFixedThreadPool(parallelism);
Semaphore semaphore = new Semaphore(parallelism);
for (int i = 0; i < 1; i++) {
try {
semaphore.acquire();
// snip ... do stuff..
semaphore.release();
} catch (Throwable throwable) {
semaphore.release();
}
executorService.shutdownNow();
}
}
}
【问题讨论】:
-
抱歉,我不让我发布代码,尽管尝试格式化它..
-
您可以将代码发布为文本,其他人也许可以将其编辑成形状。
-
您的示例创建了一个从未使用过的
ExectorService实例。为什么?
标签: java multithreading parallel-processing