千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆

线程池学习需要掌握哪些知识点

匿名提问者 2023-04-04 14:50:33

想要参加线程池学习需要掌握哪些知识点

我要提问

推荐答案

  同学,您好!线程池学习需要掌握哪些知识点是每一个Java编程开发程序员都应该精通的编程知识,本文将通过案例分析的方式来简单了解线程池学习需要掌握哪些知识点。

线程池学习需要掌握哪些知识点

  创建线程池需要七个参数。

  corePoolSize:线程池中的核心线程数。 当有新的任务进来时,如果线程池中的线程数小于这个值,就会创建一个新的线程来执行任务(不管有没有空闲线程),直到线程数大于等于这个数额。

  maximumPoolSize:线程池的最大线程数(当达到核心线程数且队列任务已满时,会增加线程数到最大线程数)。

  keepAliveTime:线程最大空闲时间,大于此时间将被回收(当线程数大于核心线程数时,冗余线程的空闲时间达到此值时将被回收).

  unit:空闲时间的单位。

  workQueue:阻塞队列。 当核心线程数满了,任务就会放到这个队列中。

  threadFactory:线程工厂,线程池中的线程都是由这个线程工厂创建的,线程池提供了一个默认的线程工厂。

  处理程序:拒绝策略。当队列任务满,线程数达到最大线程数时,新进入的任务会执行这个拒绝策略,选择丢弃哪个任务。线程池提供了四种默认的拒绝策略。

  线程工厂ThreadFactor,线程池中默认给定了一个线程工厂DefaultThreadFactory。 线程工厂的作用是创建线程。 自己创建线程工厂时,需要实现ThreadFactor接口。 只有一种方法 ThreadnewThread(Runnabler); 在这个接口中,也就是create Thread方法,自定义线程工厂的好处是可以自定义线程名称。

  阻塞队列BlockingQueue,阻塞队列用于存储核心线程满后的任务。 常用的有LinkedBlockingQueue、ArrayBlockingQueue、SynchronousQueue、DelayedWorkQueue等,当阻塞队列也满了时,会创建线程,直到最大线程数。 当达到最大线程数时,执行拒绝策略。

  拒绝策略 RejectedExecutionHandler:

  DiscardPolicy:丢弃任务而不抛出异常。

  DiscardOldestPolicy:丢弃提前加入队列的任务而不抛出异常。

  AbortPolicy:任务被丢弃,抛出异常RejectedExecutionException。 默认情况下使用此策略。

  CallerRunsPolicy:当前任务由调用线程池的线程执行。

猜你喜欢LIKE

大数据零基础入门需要学习哪些知识点

2023-04-04

常见的前端埋点方法都有哪些类型

2023-04-04

高可用性架构如何实现?

2023-04-04

最新文章NEW

初学Python需要安装哪些软件?

2023-04-04

程序员的工作可以做一辈子吗

2023-04-04

C++程序员会被被市场淘汰吗?

2023-04-04