Java线程池的使用方法如下:
创建线程池对象:可以使用Executors
类的静态方法来创建线程池对象。例如,可以使用Executors.newFixedThreadPool(int nThreads)
方法创建一个固定大小的线程池。
提交任务给线程池执行:可以使用线程池的execute(Runnable command)
方法提交一个Runnable任务给线程池执行。也可以使用submit(Callable<T> task)
方法提交一个Callable任务给线程池执行。
关闭线程池:可以使用线程池的shutdown()
方法来关闭线程池。该方法会等待所有已提交的任务执行完成后再关闭线程池。
以下是一个简单的示例代码:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建固定大小为5的线程池
ExecutorService executor = Executors.newFixedThreadPool(5);
// 提交10个任务给线程池执行
for (int i = 0; i < 10; i++) {
final int taskId = i;
executor.execute(() -> {
System.out.println("Task " + taskId + " is being executed by " + Thread.currentThread().getName());
// 任务逻辑代码
});
}
// 关闭线程池
executor.shutdown();
}
}
在以上示例中,我们创建了一个固定大小为5的线程池,然后提交了10个任务给线程池执行。每个任务都会打印出当前任务的ID和执行线程的名称。最后,我们调用了线程池的shutdown()
方法来关闭线程池。