package com.Study_02;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/* 线程池:JDK1.5之后 1.使用线程池的工厂类Executors里面提供的静态方法newFixedThreadPool生产一个指定线程数量的线程池 2.创建一个类,实现Runnable接口,重写run方法,设置线程任务 3.调用ExecutorService中方法submit,传递线程任务(实现类),开启线程,执行Run方法 4.调用ExecutorService中的方法shutdown销毁线程池(不建议执行) */public class Demo01ThreadPool { public static void main(String[] args) { ExecutorService es = Executors.newFixedThreadPool(2); // 线程池会一直开启,使用完了线程,会自动把线程归还给线程池,线程可以继续执行 es.submit(new RunableImpl()); es.submit(new RunableImpl()); es.submit(new RunableImpl()); es.shutdown(); es.submit(new RunableImpl()); // 抛异常,线程池都没有了 }}
package com.Study_02;public class RunableImpl implements Runnable{ @Override public void run() { System.out.println(Thread.currentThread().getName() + "创建了一个新的线程"); }}