在本教程中,我们将学习 Executor 的 newCachedThreadPool 工厂方法。 在上一篇教程中,我分享了 ThreadPoolExecutor 的介绍。如果您不了解 ThreadPoolExecutor 的概念,您应该先了解一下。
Executor 的 newCachedThreadPool 工厂方法:
此方法返回一个无界线程池。它将最大池大小设置为 Integer.Max,它将根据需要创建新线程。如果需求减少,如果线程空闲超过 1 分钟,它将关闭线程。
例子:
让我们创建一个任务。这里的任务是读取不同的文件并处理它们。
package org.arpit.java2blog.bean;
public class FetchDataFromFile implements Runnable{
private final String fileName;
public FetchDataFromFile(String fileName) {
super();
this.fileName = fileName;
}
@Override
public void run() {
try {
System.out.println("Fetching data from "+fileName+" by "+Thread.currentThread().getName());
Thread.sleep(5000); // Reading file
System.out.println("Read file successfully: "+fileName+" by "+Thread.currentThread().getName());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public String getFileName() {
return fileName;
}
}
让我们创建 Thread

本教程详细讲解了 Executor 的 newCachedThreadPool 方法,该方法返回一个无界线程池,可根据需求创建新线程,并在空闲1分钟后关闭线程。通过示例展示了如何使用 newCachedThreadPool 处理文件读取任务,适用于需要灵活线程管理的场景。
最低0.47元/天 解锁文章
457

被折叠的 条评论
为什么被折叠?



