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()
方法來關閉線程池。