import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
public class threadPool {
public static int threadPoolSize = 40;
public static ExecutorService ExecutorService;
/**
* 向线程池中加入任务
*/
public static void startTask(Thread thread){
if (ExecutorService == null){
ExecutorService = Executors.newFixedThreadPool(threadPoolSize);
}
ExecutorService.execute(thread);
}
/**
* 关闭线程池
*/
public static void shutdown() {
if (ExecutorService != null) {
ExecutorService.shutdown();
}
}
/**
* 显示线程池当前的状态
*/
public static void showStatus() {
ThreadPoolExecutor executor = ((ThreadPoolExecutor) ExecutorService);
System.out.print("当前活动任务: " +executor.getActiveCount());
System.out.print("\t当前任务队列: " +executor.getQueue().size());
System.out.print("\t执行完成: " +executor.getCompletedTaskCount());
System.out.println("\t总任务: " +executor.getTaskCount());
}
/**
* 返回线程池所有任务是否完结
* @return 是否完结
*/
public static boolean isFinished() {
if (ExecutorService != null) {
ThreadPoolExecutor executor = ((ThreadPoolExecutor) ExecutorService);
return executor.getCompletedTaskCount() == executor.getTaskCount();
} else {
return true;
}
}
}
java线程池
于 2023-02-14 15:39:24 首次发布