线程池创建的七个参数
线程池创建的七个参数主要是:int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler。
1、CorePoolSize:核心池的大小,这是一个非常重要的参数,在创建了线程池后,默认情况下,线程池中的线程数为0,当有任务来之后,就会创建一个线程去执行任务,当线程池中的线程数目达到corePoolSize后,就会把到达的任务放到缓存队列当中;
为什么会有头皮屑 2、MaximumPoolSize:线程池最大线程数,这个参数也是一个重要参数,它表示在线程池中最多能创建多少个线程;
3、keepAliveTime:表示线程没有任务执行时最多保持多久时间会终止。默认情况下,只有当线程池中的线程数大于corePoolSize时,keepAliveTime才会起作用;
春回大地造句
案件调查报告白菜粉条炒肉 4、unit:参数keepAliveTime的时间单位,有7种取值,在TimeUnit类中有7种静态属性:DAYS、HOURS、MINUTES、SECONDS、MILLISECONDS、MICROSECONDS、NANO平静
SECONDS ;
5、workQueue:一个阻塞队列,用来存储等待执行的任务,这个参数的选择也很重要,会对线程池的运行过程产生重要的影响,一般来说,这里的阻塞队列有以下几种选择:ArrayBlockingQueue、LinkedBlockingQueue、SynchronousQueue、PriorityBlockingQueue;基因的定义
直条图
6、threadFactory:线程工厂,主要用来创建线程;
哪家助听器好 7、handler:表示当拒绝处理任务时的策略,有以下四种取值:ThreadPoolExecutor.AbortPolicy、ThreadPoolExecutor.CallerRunsPolicy、ThreadPoolExecutor.DiscardPolicy、ThreadPoolExecutor.DiscardOldestPolicy,默认情况下,采用的是ThreadPoolExecutor.AbortPolicy策略,表示当任务添加到线程池中被拒绝时,会抛出运行时RejectedExecutionException。