【11】线程调度-线程池

版权声明:送人玫瑰,手有余香,一分也是爱 https://blog.csdn.net/m0_37156901/article/details/86498839

接下来介绍线程池相关的类:

1. ThreadPoolExecutor

看类的源码,

1 . 知道参数的含义 , 

2. 知道如何构造一个实例,

3. 如何使用一个实例。

二、介绍线程池实例的几种状态

看这个类提供的方法

监控

executor框架,三个接口

接下来具体看一下线程池以及使用。

package com.mmall.concurrency.threadpool;

import lombok.extern.slf4j.Slf4j;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

@Slf4j
public class newFixedThreadPoolDemo {
    public static void main(String[] args) {

        // ExecutorService executorService = Executors.newCachedThreadPool();
        // ExecutorService executorService = Executors.newFixedThreadPool(3);
        ExecutorService executorService = Executors.newSingleThreadExecutor();
        for (int i=0;i<10;i++){
            final int index = i;
            executorService.execute(new Runnable() {
                @Override
                public void run() {
                    log.info("thread{}",index);
                }
            });
        }
        executorService.shutdown();
    }
}

ScheduleExecutorService很特别

package com.mmall.concurrency.threadpool;

import lombok.extern.slf4j.Slf4j;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

@Slf4j
public class newScheduleThreadPoolDemo {
    public static void main(String[] args) {

        // ExecutorService executorService = Executors.newCachedThreadPool();
        // ExecutorService executorService = Executors.newFixedThreadPool(3);
        // ExecutorService executorService = Executors.newSingleThreadExecutor();
        ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(3);

        //  这里用Timer也能实现
        scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
            @Override
            public void run() {
                log.info("schedule run");
            }
        }, 1, 3, TimeUnit.SECONDS);
    }
}

整体看juc

猜你喜欢

转载自blog.csdn.net/m0_37156901/article/details/86498839