A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.阻塞队列 体系结构
          -Collection
                              -Queue
                                             - BlockQueue
                                                                     重要的实现类
                                                                             1.ArrayBlockingQueue  底层是数组  
                                                                              2.LinkedBlockingQueue           底层是链表  :默认长度是 21 亿
                                                                              3.SynchronousQueue               里边只能存放一个
2.线程池  核心类
                  Executor  :线程池根
                  ExecutorService :重要接口
                  ThreadPoolExecutor  :非常重要的类

3.常见的线程池操作
                           Executors.newFixedThreadPool(5)  指定大小
                           Executors.newSingleThreadExecutor()  只能一个线程
                           Executors.newCachedThreadPool()      忙不过来多个线程,忙的过来单个线程

4.线程池7大参数
corePoolSize : 线程池中常驻的核心线程数
maximumPoolSize :最大线程数:线程池中同时可以执行的最大线程数
workQueue: 阻塞队列
RejectedExecutionHandler:拒绝策略
ThreadFactory :默认工厂
keepAliveTime:多余的空闲线程的存活时间,当前线程池数量超过corePoolSize 时,当空闲时间达到keepAliveTime 值时,多余空闲线程会被销毁,直到只剩下corePoolSize 个线程为止

5.线程池的拒绝策略
RejectedExecutionHandler
      AbortPolicy(默认):直接抛出RejectedExecutionException 异常阻止系统正常运行
      CallerRunsPolicy:调用者运行一种调用机制,该策略不会抛出异常,而是将某些任务回退到调用者,从而降低流量
     DiscardOldestPolicy:抛弃队列中等待最久的任务,然后把当前任务加入到队列再尝试提交任务
      DiscardPolicy: 直接丢弃任务,不予任何处理,如果允许任务丢失,这是最好的一个解决方案


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马