线程池的创建方法 发表于 2019-09-19 | 分类于 Java | 评论数: | 阅读次数: 本文字数: 1.6k | 阅读时长 ≈ 1 分钟java 创建线程池12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455/* * java 创建线程池 四种 * */import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;public class ThreadPoolDemo { public static void main(String[] args) { // 创建一个单线程的线程池 串行 顺序执行完成// ExecutorService executors =Executors.newSingleThreadExecutor();// 创建一个固定大小的线程池 多个线程同时运行 ExecutorService executors = Executors.newFixedThreadPool(2); /* 创建一个可缓存的线程池,如果线程池的大小超过了处理任务所需要的线程,那么就会回收部分空闲的线程 * 当任务数量增加时,此线程池又可以智能的添加新线程来处理任务,此线程池不会对线程池的大小做限制, * 线程池的大小完全依赖于操作系统(或者说JVM)能够创建的最大线程的大小 * */// ExecutorService executors = Executors.newCachedThreadPool(); // 创建一个大小无限制的线程池,此线程池支持定时及周期性执行任务的需求// ScheduledExecutorService executors = Executors.newScheduledThreadPool(3); executors.execute(new MyRunnable()); executors.execute(new MyRunnable()); // 方法4// executors.schedule(new MyRunnable(),1000, TimeUnit.MILLISECONDS);// executors.schedule(new MyRunnable(),3000, TimeUnit.MILLISECONDS); executors.shutdown(); }}class MyRunnable implements Runnable{ @Override public void run() { for (int i = 0; i <10 ; i++) { System.out.println(Thread.currentThread().getName()+" : Run Count Number--"+i); try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } } }}-------------本文结束感谢您的阅读-------------打赏微信支付支付宝