有没有办法在java中缓冲线程池?
例如: 我有一个" BufferedThreadPool"最大尺寸为3。 现在我执行5个线程。 前3个线程执行。现在游泳池已经满了。线程4-5得到缓冲 执行一个线程后,它将执行线程4,在下一个线程完成后,它将执行线程5,等等。
答案 0 :(得分:0)
Executors.newFixedThreadPool
看起来就像您要找的那样:https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executors.html#newFixedThreadPool-int-
答案 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);
}
我希望这会有所帮助。