java JDK并发包-线程池

2019-09-30  本文已影响0人  778bc750a218

1.线程池种类

    1).newFixedThreadPool  //固定大小线程池

    2).newSingleThreadExecutor  //单一线程的线程池

    3).newCachedThreadPool    //缓存线程池

    4).newScheduledThreadPool  //计划任务线程池

2.ThreadPoolExecutor

       真正的线程池方法,通过传入不同的参数构造出上面几种不同的线程池

        ThreadPoolExecutor(int corePoolSize,         //核心线程数

                          int maximumPoolSize,                 //最大线程数量

                          long keepAliveTime,        //存活时间

                          TimeUnit unit,        //时间单位

                          BlockingQueue workQueue)        //保存任务

3.线程队列

    1).LinkedBlockingQueue

     2).SynchronousQueue //该线程队列不会保存数据,当要向此队列加入数据的前提是,有一个线程正要往这个队列拿数据

4.回调API

    需要重载线程池方法

    beforeExecute //执行前

    afterExecute //执行后

     terminated //线程池被关闭

5.拒绝策略

    RejectedExecutionHandler    //拒绝,并抛出异常

    DiscardPolicy        //    直接不要,丢掉

    DiscardOldestPolicy    //丢在线程池队列中最老的那个

    CallerRunsPolicy    //我做不了我还给你你来做

6.自定义线程工厂

    

     

    

        

    

上一篇 下一篇

猜你喜欢

热点阅读