在Java中,您可以使用Executors
类中的newFixedThreadPool()
方法创建一个固定大小的线程池。这个方法接受一个参数,表示线程池中的最大线程数。以下是一个简单的示例:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class FixedThreadPoolExample {
public static void main(String[] args) {
// 创建一个固定大小为3的线程池
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(3);
// 提交任务到线程池
for (int i = 0; i < 10; i++) {
final int taskNumber = i;
fixedThreadPool.submit(() -> {
System.out.println("Task " + taskNumber + " is executed by thread " + Thread.currentThread().getName());
});
}
// 关闭线程池
fixedThreadPool.shutdown();
}
}
在这个示例中,我们创建了一个固定大小为3的线程池,然后提交了10个任务到线程池。线程池会自动分配任务给空闲的线程,直到所有任务完成。最后,我们调用shutdown()
方法关闭线程池。