线程池
思路:提前创建好多个线程,放进线程池,使用时直接到池中取,使用完放回池中,这样就可以重复利用,避免频繁的
创建和销毁,影响其性能
线程池相关API:ExecutorService与Executors
ExecutorService真正的线程池接口,常见子类:ThreadPoolExecutor
-void execute(Runnable commond):执行任务/命令,没有返回值,一般用于执行Runnable 接口
-<T>Future<T>submit(Callable<T>task):执行任务,有返回值,一般用于执行Callable接口
-void shutdown():关闭连接池
Executors:工具类、线程池的工厂类,用于创建不同类型的线程池。
package syn; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class TestPool { public static void main(String[] args) { //创建线程池 ExecutorService service = Executors.newFixedThreadPool(10); //执行 service.execute(new MyThread()); service.execute(new MyThread()); service.execute(new MyThread()); service.execute(new MyThread()); //关闭线程池 service.shutdown(); } } class MyThread implements Runnable{ @Override public void run() { System.out.println("run........"); } }