线程池问题:
概述:线程池其实就是一个容纳多个线程的容器,其中的线程可以反复的使用,省去了频繁创建线程对象的操作,无需反复的创建线程而消耗过多资源。
合理利用线程池的好处:总的来说就是降低资源消耗,提高响应速度,提高线程的可管理性。
注意,这里的线程可管理性指的是根据系统承受的能力,调用线程池中中工作线程的数目,方式孩子因为消耗过多的内存,而把服务器累趴下(线程开的雪堆,消耗的内存越大)
有关的类:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
//利用线程池工厂了类中的静态方法创建线程池,返回的对象线程池接口的实现类。
//注意,是静态方法
ExecutorService es = Executors.newFixedThreadPool(3);
//创建一个类,实现Runnable接口,重写run方法
Runnable s = new Runnable() {
@Override
public void run() {
System.out.println("线程开启");
}
};
//这里是开启一个进程
es.submit(s);
线程池的销毁: es.shutdown();****(注意,要销毁线程池,这里要进行异常处理,否则会报错)