文章目录
线程池原理
- 线程池原理
- JDK 1.5 之后提供的线程池工厂类
- 线程池的使用步骤
1.创建多个线程对象,存放到集合中,集合可以是 ArrayList
或者 LinkedList
2.从集合中取出一个线程对象,执行指定的任务 3.一个线程对象只能执行一个任务,所以使用 remove(int index)
移出线程对象,任务执行完后,要放回集合中 4.任务可以放在一个队列中排队,逐个执行
线程池工厂类 java.util.concurrent.Executors
有个静态方法 public static ExecutorService newFixedThreadPool(int nThreads)
,该方法可以创建一个重用固定线程数的线程池,返回的是接口 ExecutorService
的实现类对象。
接口 java.util.concurrent.ExecutorService
有个方法 submit(Runnable task)
,这个方法可以从线程池获取线程后开启线程,执行 task
中的任务。另外有个方法 shutdown()
可以销毁线程池(不建议执行)。
1.使用线程池工厂类创建一个线程池 2.定义一个类,实现接口 Runnable
,实现方法 run
,定义线程任务 3.构造一个 Runnable
实现类的实例对象 4.调用方法 submit
,传递 Runnable 实现类的实例对象,就会自动获取线程,执行其中的方法 run