经常创建和销毁线程,会使用特别大的资源;
提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中,可以避免频繁地创建销毁,实现重复利用.类似生活中的公共交通工具;
使用线程池的优点:
(1)提高效应速度;
(2)降低资源消耗;
(3)便于线程管理 corePoolSize 核心池大小
maximumPoolSize:最大线程数 keepAliveTime:线程没有任务时最多保持多长时间后会终止.
代码实践
public class TextPool {
public static void main(String[] args) {
//创建服务,创建线程池
//newFixedThreadPool 参数为线程池大小
ExecutorService service = Executors.newFixedThreadPool(10);
//启动线程池
//service.execute(实现Runable接口类)
service.execute(new Pool());
service.execute(new Pool());
service.execute(new Pool());
service.execute(new Pool());
}
}
class Pool implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
}
}