Java中的缓冲线程池?

时间:2016-05-06 23:22:42

标签: java multithreading

有没有办法在java中缓冲线程池?

例如: 我有一个" BufferedThreadPool"最大尺寸为3。 现在我执行5个线程。 前3个线程执行。现在游泳池已经满了。线程4-5得到缓冲 执行一个线程后,它将执行线程4,在下一个线程完成后,它将执行线程5,等等。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我猜你需要这样的东西:

// initialization of your threads
Runnable[] runnables = new Runnable[5];
for (int i=0; i<5; i++) {
    runnables[i] = new MyRunnable(i);
}

// initialization of thread pool with fixed size 3
ExecutorService executor = Executors.newFixedThreadPool(3);
// passing the threads to the execution threads pool
for (Runnable a: runnables) {
    executor.execute(a);
}

我希望这会有所帮助。