当前位置: 代码迷 >> 综合 >> 线程池自学笔记6--newSingleThreadExecutor练习
  详细解决方案

线程池自学笔记6--newSingleThreadExecutor练习

热度:58   发布时间:2024-02-05 15:04:30.0

编写任务类

/*任务类,包含一个任务编号,在任务中,打印出是哪一个线程正在执行任务*/
class MyRunnable3 implements Runnable{private  int id;public MyRunnable3(int id) {this.id = id;}@Overridepublic void run() {//获取线程的名称,打印一句话String name = Thread.currentThread().getName();System.out.println(name+"执行了任务..."+id);}
}

编写测试类

/*练习Executors获取ExecutorService,然后调用方法,提交任务;*/
public class MyTest03 {public static void main(String[] args) {//test1();test2();}//练习方法newFixedThreadPoolprivate static void test1() {//1:使用工厂类获取线程池对象ExecutorService es = Executors.newSingleThreadExecutor();//2:提交任务;for (int i = 1; i <=10 ; i++) {es.submit(new MyRunnable3(i));}}private static void test2() {//1:使用工厂类获取线程池对象ExecutorService es = Executors.newSingleThreadExecutor(new ThreadFactory() {int n=1;@Overridepublic Thread newThread(Runnable r) {return new Thread(r,"自定义的线程名称"+n++);}});//2:提交任务;for (int i = 1; i <=10 ; i++) {es.submit(new MyRunnable3(i));}}
}

 

  相关解决方案