线程池可以通过设置最大线程数来实现限流。您可以使用 Java 中的 Executor 框架来创建线程池。例如,您可以使用以下代码创建一个带有固定大小的线程池,其中线程数量最多为 10:
Executor executor =Executors.newFixedThreadPool(10);
如果您想要创建一个可以动态调整大小的线程池,则可以使用以下代码:
Executor executor =Executors.newCachedThreadPool();
这个线程池可以根据需要创建新线程,并在不使用时回收线程。
您还可以使用 Java 的线程池实现类 ThreadPoolExecutor 来创建自定义的线程池。这个类允许您设置限制线程数的最大值和核心线程数,以及其他配置选项。
例如,您可以使用以下代码创建一个具有最大线程数为 10 的线程池:
ThreadPoolExecutor executor = new ThreadPoolExecutor(5, 10, 60, TimeUnit.SECONDS, new ArrayBlockingQueue<>(10));
这个线程池具有 5 个核心线程,最多可以创建 10 个线程,并使用 ArrayBlockingQueue 作为工作队列。