线程池的使用
线程池:是线程的容器,其中的线程可以反复使用。JDK1.5内置了线程池。
原理:线程池的线程是保存在一个集合中的,以LinkedList集合为例,当从线程池中取出一个线程时,集合会调用 V removeFirst()方法取出第一个线程;当线程使用完之后会自动返还给线程池,即集合会调用addLast()方法把线程添加会集合中。
1、使用Executors工具类的静态方法获取线程池:
static ExecutorService newFixedThreadPool(int nThread)
//1、使用Executors工具类的静态方法获取线程池,设置线程数量为3
ExecutorService es = Executors.newFixedThreadPool(3);
2、创建一个类实例化Runnable接口,编写执行任务run();
public class Person implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread()+"线程执行了");
}
}
3、使用ExecutorService接口的submit(Runnable r)方法取出一个线程执行run()
es.submit(new Person());