常见线程池

荒凉一梦 提交于 2019-12-01 23:20:27
import java.util.concurrent.ExecutorService;
 4 import java.util.concurrent.Executors;
 5 
 6 public class TestThreadPoolExecutor {
 7     public static void main(String[] args) {
 8         //创建一个单线程化的线程池
 9         ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor();
10         for (int i = 0; i < 10; i++) {
11             final int index = i;
12             singleThreadExecutor.execute(new Runnable() {
13                 public void run() {
14                     try {
15                         //结果依次输出,相当于顺序执行各个任务
16                         System.out.println(Thread.currentThread().getName()+"正在被执行,打印的值是:"+index);
17                         Thread.sleep(1000);
18                     } catch (InterruptedException e) {
19                         e.printStackTrace();
20                     }
21                 }
22             });
23         }
24     }
25 }
//创建一个单线程化的线程池  Executors.newSingleThreadExecutor();
 //创建一个可缓存线程池  Executors.newCachedThreadPool();
//创建一个可重用固定个数的线程池 Executors.newFixedThreadPool(3);
 //创建一个定长线程池,支持定时及周期性任务执行——延迟执行 Executors.newScheduledThreadPool(5);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!