线程池的几种常见的创建的方式

               
一:创建大小不固定的线程池二:创建固定数量线程的线程池三:创建单线程的线程池四:创建定时线程

1.创建大小不固定的线程池

package com.peace.pms.Test;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * @Author: cxx * @Date: 2018/3/3 17:16 */public class ThreadPoolDemo {    public static class Taskdemo implements Runnable{        @Override        public void run() {            for(int i=0;i<10;i++){                System.out.println(Thread.currentThread().getName()+":"+i);            }        }    }    public static void main(String[] args) {       ExecutorService es=Executors.newFixedThreadPool(2);        for(int i=0;i<10;i++){            Taskdemo tc=new Taskdemo();            es.execute(tc);        }        es.shutdown();    }}


2.创建固定数量线程的线程池

public static void main(String[] args) {        ExecutorService es=Executors.newFixedThreadPool(2);        for(int i=0;i<10;i++){            Taskdemo tc=new Taskdemo();            es.execute(tc);        }        es.shutdown();    }

3.创建单线程的线程池

public static void main(String[] args) {        ExecutorService es=Executors.newSingleThreadExecutor();        for(int i=0;i<10;i++){            Taskdemo tc=new Taskdemo();            es.execute(tc);        }        es.shutdown();    }

4.创建定时线程

 public static void main(String[] args) {        ScheduledExecutorService es=Executors.newScheduledThreadPool(2);        for(int i=0;i<10;i++){            Taskdemo tc=new Taskdemo();            //参数1:目标对象            //参数2:隔多长时间开始执行线程,            //参数3:执行周期            //参数4:时间单位            es.scheduleAtFixedRate(tc, 30, 10, TimeUnit.MILLISECONDS);        }        es.shutdown();    }

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

你可能感兴趣的:(线程池的几种常见的创建的方式)