多线程之线程池

 为什么要有多线程

每当我们需要一个线程的时候就创建一个线程,不需要的时候就销毁,这样的方式会浪费操作系统的资源。就好像吃饭吃完饭就把饭碗摔掉一样,所以我们需要一个碗柜(线程池)来节约资源

多线程之线程池_第1张图片

 多线程之线程池_第2张图片

public class MyRunnable implements Runnable{
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            System.out.println(Thread.currentThread().getName());
        }
    }
}

 

public class demo1 {
    public static void main(String[] args) throws InterruptedException {
        //获取一个线程池对象
        ExecutorService pool1= Executors.newCachedThreadPool();

        //提交任务
        pool1.submit(new MyRunnable());
        Thread.sleep(100);
        pool1.submit(new MyRunnable());
        Thread.sleep(100);
        pool1.submit(new MyRunnable());
        Thread.sleep(100);
        pool1.submit(new MyRunnable());
        Thread.sleep(100);
        pool1.submit(new MyRunnable());
        Thread.sleep(100);
        pool1.submit(new MyRunnable());

        //销毁线程池
        //pool1.shutdown();
    }
}

你可能感兴趣的:(java,jvm)