首页 > 编程语言 >20230713 java.util.concurrent.ThreadPoolExecutor

20230713 java.util.concurrent.ThreadPoolExecutor

时间:2023-08-22 17:47:29浏览次数:46  
标签:java int keepAliveTime util 任务 线程 workQueue ThreadPoolExecutor

介绍

  • java.util.concurrent.ThreadPoolExecutor
  • public class ThreadPoolExecutor extends AbstractExecutorService

API

构造器

  • ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue)
  • ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory)
  • ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, RejectedExecutionHandler handler)
  • ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler)
    • corePoolSize :初始线程池大小
    • maximumPoolSize :最大线程池大小
    • keepAliveTime :设置线程存活时间,即当池中线程多于初始大小时,多出的线程保留的时长
    • unit :keepAliveTime 的时间单位
    • workQueue :设置队列,用于存在未执行的线程
    • threadFactory :线程工厂,用于自定义线程创建
    • handler :设置当线程阻塞(block)时的异常处理器,所谓线程阻塞即线程池和等待队列已满,无法处理线程时采取的策略

public

  • setCorePoolSize, getCorePoolSize

  • setMaximumPoolSize, getMaximumPoolSize

  • setKeepAliveTime, getKeepAliveTime

  • getQueue

    • workQueue
  • setThreadFactory, getThreadFactory

  • setRejectedExecutionHandler, getRejectedExecutionHandler

    • 匹配构造器中的参数
  • execute

    • void execute(Runnable command)
  • shutdown

    • 启动有序关闭,其中执行先前提交的任务,但不会接受新任务
  • shutdownNow

    • 尝试停止所有正在执行的任务,停止正在等待的任务的处理,并返回正在等待执行的任务的列表
    • 此方法不等待主动执行的任务终止。使用 awaitTermination 来做到这一点
  • awaitTermination

    • 阻塞,直到所有任务在关闭请求后完成执行
  • prestartAllCoreThreads

    • 启动所有核心线程
  • prestartCoreThread

    • 启动一个核心线程
    • 默认情况下,即使是核心线程也仅在新任务到达时才最初创建和启动
  • allowsCoreThreadTimeOut

    • 允许核心线程超时
    • 默认 false ,核心线程永远不会由于缺少传入任务而终止
  • allowCoreThreadTimeOut

    • 设置 allowsCoreThreadTimeOut
  • getActiveCount

    • 返回正在主动执行任务的线程的大致数量
  • getTaskCount

    • 返回已计划执行的任务的大致总数
  • getCompletedTaskCount

    • 返回已完成执行的任务的大致总数
  • getLargestPoolSize

    • 返回池中曾经同时存在的最大线程数
  • getPoolSize

    • 返回当前线程池中线程数量
  • isTerminating

    • 如果此执行器在 shutdownshutdownNow 之后正在终止但尚未完全终止,则返回 true
  • purge

    • 尝试从工作队列中删除所有已取消的 Future 任务
  • remove

    • 从队列中移除

标签:java,int,keepAliveTime,util,任务,线程,workQueue,ThreadPoolExecutor
From: https://www.cnblogs.com/huangwenjie/p/17649204.html

相关文章

  • 20230618 java.util.stream.BaseStream
    介绍java.util.stream.BaseStreampublicinterfaceBaseStream<T,SextendsBaseStream<T,S>>extendsAutoCloseableAPIiterator返回流的迭代器终结操作spliterator返回可拆分迭代器终结操作isParallel是否并行流sequential返回一个等效的串行流中......
  • 20230619 java.util.IntSummaryStatistics
    介绍java.util.IntSummaryStatisticspublicclassIntSummaryStatisticsimplementsIntConsumer统计的指标:count,sum,min,average,maxAPI构造器IntSummaryStatistics()IntSummaryStatistics(longcount,intmin,intmax,longsum)publiccombinevoidcombi......
  • 20230619 java.util.Optional
    介绍java.util.Optional类声明@jdk.internal.ValueBasedpublicfinalclassOptional<T>包装一个可能为null的值只有在正确使用的情况下才会更安全对应基本类型类:OptionalInt,OptionalLong,OptionalDoubleAPIstatic创建OptionalemptyofofNullablepublic......
  • 20230619 java.util.Random
    介绍java.util.RandompublicclassRandomimplementsRandomGenerator,java.io.SerializableAPI构造器Random()Random(longseed)seed:种子值,如果用相同的java.util.Random对象和相同的种子值来生成随机数,那么每次生成的随机数序列将是完全相同的publicsetSe......
  • 20230619 java.util.random.RandomGenerator
    介绍java.util.random.RandomGeneratorpublicinterfaceRandomGeneratorjava.util.Random的父接口APIstaticofgetDefaultpublicisDeprecated是否废弃doublesDoubleStreamdoubles()无限流[0,1)DoubleStreamdoubles(doublerandomNumberOrigin,d......
  • 20230608 java.util.concurrent.locks.AbstractQueuedSynchronizer
    介绍java.util.concurrent.locks.AbstractQueuedSynchronizerpublicabstractclassAbstractQueuedSynchronizerextendsAbstractOwnableSynchronizerimplementsjava.io.Serializable提供一个框架,用于实现依赖于先进先出(FIFO)等待队列的阻塞锁和相关同步器(信号量、事件......
  • 20230608 java.util.concurrent.locks.Condition
    介绍java.util.concurrent.locks.ConditionpublicinterfaceConditionCondition将Object监视器方法(wait、notify和notifyAll)分解为不同的对象,通过将它们与任意Lock实现的使用相结合,从而产生每个对象具有多个等待集的效果。在Lock取代synchronized方法和语句的使用的地方......
  • 20230608 java.util.concurrent.locks.LockSupport
    介绍java.util.concurrent.locks.LockSupportpublicclassLockSupportAPIstaticsetCurrentBlockervoidsetCurrentBlocker(Objectblocker)设置当前线程的阻塞对象getBlockerObjectgetBlocker(Threadt)返回提供给最近一次调用尚未解除阻塞的park方法的阻塞......
  • 20230608 java.util.concurrent.locks.ReentrantLock
    介绍java.util.concurrent.locks.ReentrantLockpublicclassReentrantLockimplementsLock,java.io.SerializableReentrantLock是使用AQS的标准范式API构造器ReentrantLock()ReentrantLock(booleanfair)fair:是否公平锁,默认非公平锁public实现接口java.u......
  • 20230614 java.util.concurrent.atomic.AtomicInteger
    介绍java.util.concurrent.atomic.AtomicIntegerpublicclassAtomicIntegerextendsNumberimplementsjava.io.SerializableAPI构造器AtomicInteger()AtomicInteger(intinitialValue)设置初始值,默认是0public方法get,set原子操作不同步内存屏障,不能......