首页 > 编程语言 > 详细

Java多线程(二)

时间:2020-03-09 23:44:53      阅读:69      评论:0      收藏:0      [点我收藏+]
  1. 线程池构造器参数的含义

    • coreSize:核心线程数
    • maxSize:最大线程数
    • KeepAliveTime:线程空闲的最大时间
    • Queue:等待队列
    • ThreadFactory
    • RejectExecutionHandler:拒绝策略
      • AbortPolicy:直接抛出异常<默认策略>
      • CallerRunsPolicy:用调用者所在的线程来执行任务
      • DiscardOldestPolicy:丢弃队列中最靠前的任务并执行当前任务
      • DiscardPolicy:直接丢弃任务

    当请求不断增加时,各个参数起的作用如下:

    1. 请求数< coreSize:创建新的线程来处理任务

    2. coreSize<=请求数&&能够成功入队列:任务进入到队列中等待消费
    3. 队列已满&&请求数<maxSize:创建新的线程来处理任务
    4. 队列已满&&请求数>=maxSize:使用RejectExecutionHandler类拒绝请求。

  2. 利用Executors创建不同的线程池来满足不同场景的需求?

    • newFixedThreadPool(int nThread)指定工作线程数量的线程池
    • newCachedThreadPool():处理大量段时间工作任务的线程池
    • newSingleThreadExecutor():创建唯一的工作者线程来执行任务。
    • newSingleThreadScheduledExecutor:定时或者周期性的工作调度
    • newWorkStrealingPool():内部会构造ForkJoinPool,利用work-Strealing算法,并行地处理任务,不保证处理顺序。

Java多线程(二)

原文:https://www.cnblogs.com/shine-rainbow/p/12452277.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!