多线程4种实现

1,继承Thread类

2,实现Runnable接口(无返回值)

3,实现Callable接口(有返回值;依赖FutureTask类)

4,线程池(依赖ThreadPoolExecutor)

        五个实现类:

        Executors.newScheduledThreadPool(1);//了解
        Executors.newWorkStealingPool(1);//java8新特性
        ExecutorService threadPool = Executors.newFixedThreadPool(5);//一池5个处理线程
        ExecutorService threadPool = Executors.newFixedThreadPool(1);//一池1个线程
        ExecutorService threadPool = Executors.newCachedThreadPool();//一池N个线程

  七大参数:

        ExecutorService threadPool = new ThreadPoolExecutor(2,
                5,
                1L,
                TimeUnit.SECONDS,
                new LinkedBlockingQueue<>(3),
                Executors.defaultThreadFactory(),
                new ThreadPoolExecutor.CallerRunsPolicy());//                                                                   

  

拒绝策略:jdk内置的拒绝策略,AbortPolicy;CallerRunsPolicy;DiscardPolicy;DiscardPolicy,均实现RejectedExecutionHandler接口
posted @ 2020-09-06 12:15  NangKe  阅读(176)  评论(0)    收藏  举报