当前位置: 首页 > wzjs >正文

自主建站是什么意思网络推广是什么职位

自主建站是什么意思,网络推广是什么职位,网站云空间大小,苏州做企业网站建设目录 线程池线程池的核心类`ThreadPoolExecutor` 的构造方法线程池的常用方法提交任务关闭线程池监控线程池状态通过 `Executors` 快速创建线程池线程池的完整示例常见问题与解决方案总结线程池 线程池的核心类 Java 线程池的实现基于 java.util.concurrent 包,核心类和接口…

目录

  • 线程池
    • 线程池的核心类
    • `ThreadPoolExecutor` 的构造方法
    • 线程池的常用方法
      • 提交任务
      • 关闭线程池
      • 监控线程池状态
    • 通过 `Executors` 快速创建线程池
    • 线程池的完整示例
    • 常见问题与解决方案
    • 总结

线程池

线程池的核心类

Java 线程池的实现基于 java.util.concurrent 包,核心类和接口如下:

类/接口说明
Executor最基础的线程池接口,仅定义 execute(Runnable) 方法。
ExecutorService扩展了 Executor,提供更丰富的线程池管理功能(如任务提交、关闭)。
ThreadPoolExecutor线程池的核心实现类,所有功能均通过此类实现。
ScheduledExecutorService支持定时任务和周期性任务的线程池接口。
Executors工厂类,提供快捷创建线程池的静态方法(如 newFixedThreadPool)。

ThreadPoolExecutor 的构造方法

ThreadPoolExecutor 的构造函数包含7个参数,以下是详细说明:

public ThreadPoolExecutor(int corePoolSize,           // 核心线程数int maximumPoolSize,        // 最大线程数long keepAliveTime,         // 临时线程的空闲存活时间TimeUnit unit,              // 时间单位(秒、毫秒等)BlockingQueue<Runnable> workQueue, // 任务队列ThreadFactory threadFactory,       // 线程工厂(自定义线程创建)RejectedExecutionHandler handler   // 拒绝策略
)

参数详解

  1. corePoolSize
    • 作用:线程池中始终保持存活的线程数量(即使空闲也不会被回收)。
    • 示例:若设置为3,线程池最少有3个线程处理任务。
  2. maximumPoolSize
    • 作用:线程池允许创建的最大线程数(包括核心线程和临时线程)。
    • 示例:若设置为10,当任务队列满时,最多创建10个线程。
  3. keepAliveTime + unit
    • 作用:临时线程(超出核心线程数的线程)的空闲存活时间。超过该时间且无任务执行时,临时线程会被回收。
    • 示例60, TimeUnit.SECONDS 表示临时线程空闲60秒后终止。
  4. workQueue
    • 作用:存储待执行任务的队列。
    • 常用实现类
      • ArrayBlockingQueue:有界队列(需指定容量)。
      • LinkedBlockingQueue:无界队列(默认容量为 Integer.MAX_VALUE)。
      • SynchronousQueue:直接传递任务的队列(无存储能力)。
  5. threadFactory
    • 作用:自定义线程的创建方式(如设置线程名称、优先级)。
    • 默认实现Executors.defaultThreadFactory()
  6. handler
    • 作用:当任务队列已满且线程数达到最大值时的拒绝策略。
    • 内置策略
      • AbortPolicy(默认):抛出 RejectedExecutionException 异常。
      • CallerRunsPolicy:由提交任务的线程直接执行任务。
      • DiscardPolicy:静默丢弃新任务。
      • DiscardOldestPolicy:丢弃队列中最旧的任务,然后重新提交新任务。

线程池的常用方法

提交任务

方法说明
void execute(Runnable task)提交一个无需返回值的任务(适合异步执行)。
Future<T> submit(Callable<T> task)提交一个有返回值的任务,通过 Future 获取结果或异常。
Future<?> submit(Runnable task)提交 Runnable 任务,返回的 Future 可用于判断任务是否完成。

示例

ExecutorService executor = Executors.newFixedThreadPool(3);// 使用 execute 提交任务(无返回值)
executor.execute(() -> 
http://www.dtcms.com/wzjs/130090.html

相关文章:

  • 网站制作软件小学什么叫优化
  • 设计企业网站内容建设官网的网站首页
  • 中国十大传媒公司营销网站优化推广
  • 餐饮环境评估在哪个网站做各大网站提交入口网址
  • 专门做搜索种子的网站torrentkitty磁力猫
  • 求网站都懂得网站链接提交收录
  • 给个能看的网站网站百度收录秒收方法
  • 企业信息管理平台系统河南网站排名优化
  • 建设一个网站预算公司网站设计与制作
  • 惠州网红小吴seo博客
  • 微博营销网站营销策划书范文1000字
  • 外语网站建设目的软件推广
  • 哪个网站做网店好seo是搜索引擎营销吗
  • 做视频网站服务器配置挖掘关键词爱站网
  • 上海兼职做网站seo怎么做优化
  • 网站开发毕业论文任务书品牌战略
  • 做同城信息类网站如何赚钱线上推广的公司
  • 第三方编辑网站怎么做营销方案的几个要素
  • 西安网站建设管理优化设计官网
  • 做网站名词互联网广告管理暂行办法
  • 乳山市建设局网站论坛志鸿优化网下载
  • 重庆手机网站开发百度seo点击软件
  • 咸宁做网站上首页seo
  • 长春建站网站模板郑州网站排名优化外包
  • 怎么加入电商平台卖货关键词优化顾问
  • 网站下拉广告公司网站免费建站
  • 婚恋网站上认识人 带你做原油交易加强网络暴力治理
  • 管理一个网站的后台怎么做惠州抖音seo
  • 企业自助建站程序seo网站排名查询
  • wordpress电影imdb主题上海seo公司哪个靠谱