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

ppt做书模板下载网站有哪些内容免费的微商城平台

ppt做书模板下载网站有哪些内容,免费的微商城平台,网站优化软件下载,淘宝小网站怎么做的文章目录 你的Java项目还在等待吗#xff1f;快来学会线程池#xff0c;解放你的性能#xff01;1 什么是线程池#xff1f;为什么需要它#xff1f;2 线程池的参数有哪些#xff1f;3 不同类型的线程池有哪些配置#xff1f; 你的Java项目还在等待吗#xff1f;快来学… 文章目录 你的Java项目还在等待吗快来学会线程池解放你的性能1 什么是线程池为什么需要它2 线程池的参数有哪些3 不同类型的线程池有哪些配置 你的Java项目还在等待吗快来学会线程池解放你的性能 近期迷上了举例子来结合知识点学习尽量减少枯燥如有错见谅哈~ 1 什么是线程池为什么需要它 线程池是什么 线程池是一个高效的并发处理工具它类似于你家里的管家可以有效地管理和调度工作任务线程。 想象一下你有很多家务要做比如洗衣服、做饭、打扫等如果每件事情都一个人去做可能效率不高而且容易混乱。但如果有一个管家可以根据不同的情况安排人手就会更有条理和高效。 在Java项目开发中线程池的作用就类似于这个管家它提前创建好一批线程类似于家里的工人这些线程随时待命等待分配任务。当有任务需要处理时不需要每次都创建新的线程雇新工人而是从线程池中取出一个空闲的线程已有的工人分配任务给它执行执行完毕后该线程可以被复用而不是立即销毁。 在代码层面一个简单的线程池的创建可以像这样 // 创建了一个固定大小为10的线程池 ExecutorService executor Executors.newFixedThreadPool(10);为什么需要它 这种预先创建并重复利用线程的方式极大地节省了线程创建和销毁的开销同时避免了系统因为线程过多而导致资源耗尽或性能下降的问题。 通过合理配置线程池的大小和参数可以更好地控制并发执行的线程数量从而优化系统的性能和响应速度。 2 线程池的参数有哪些 线程池的参数主要是用来配置它如何管理和调度线程的。 想象一下你在为一个派对准备你需要决定几个桌子和椅子以及每个桌子上坐几个人。这些参数决定了整个派对的布置和效率。 核心池大小corePoolSize指定了线程池中始终保持活动状态的线程数。即使没有任务执行这些线程也会被保留。 就像派对上至少需要几个人来保证基本的服务这些线程会一直存在即使没有任务可做。 // 设置核心池大小为5 int corePoolSize 5; 最大池大小maximumPoolSize定义了线程池中允许的最大线程数。当队列满了且线程池中的线程数小于最大池大小时新任务会创建新线程执行。 相当于在派对上你愿意容忍的最多人数。如果任务多就会雇佣更多的人来处理。 // 设置最大池大小为10 int maximumPoolSize 10; 任务队列workQueue用来保存等待执行的任务。常见的队列包括有界队列和无界队列和先进先出队列FIFO和优先级队列它们影响着任务的排队策略。 就像派对上的等候区这里存放着还没坐下的客人。 // 使用有界队列最大容量为100 BlockingQueueRunnable workQueue new LinkedBlockingQueue(100); 线程存活时间keepAliveTime定义了线程空闲多久后被销毁。这个参数只有在线程池的线程数大于核心池大小时才会生效。 就像派对上的工作人员如果长时间没事做会被安排离开。 // 线程空闲时间为60秒 long keepAliveTime 60; // 时间单位为秒 TimeUnit unit TimeUnit.SECONDS; 拒绝策略rejectedExecutionHandler决定了当任务无法加入线程池时的处理方式。例如可以选择直接抛出异常或者在调用者线程中执行任务。 就像派对上人满为患需要安排后面来的客人去别的场地。 // 默认的拒绝策略抛出异常 RejectedExecutionHandler handler new ThreadPoolExecutor.AbortPolicy(); 通过合理配置这些参数可以根据应用程序的需求和系统的负载来优化线程池的性能和资源利用率。 例如在处理大量短时任务的场景中可以增加核心池大小和任务队列的容量以提高响应速度和任务处理的并发性。 3 不同类型的线程池有哪些配置 线程池根据不同的场景和需求提供了灵活的配置选项通过合理地选择和配置可以最大化地利用系统资源提高任务执行的效率和响应速度。 固定大小线程池FixedThreadPool有固定数量的线程不会根据任务数量的增减而调整。适合于任务数量已知且需要快速执行的情况。 像在派对中设置几张大小固定的桌子和椅子每张桌子上有固定数量的座位。每个人都有固定的位置确保派对期间座位不会超出预期。 // 创建一个固定大小为5的线程池 ExecutorService executor Executors.newFixedThreadPool(5); 缓存线程池CachedThreadPool会根据需要创建新的线程而且在线程空闲一段时间后会回收适合处理大量短期异步任务。 桌子和椅子根据人数的需要动态增加或减少以适应派对规模的变化。 // 创建一个根据需求自动调整大小的线程池 ExecutorService executor Executors.newCachedThreadPool(); 单线程化线程池SingleThreadExecutor只有一个工作线程适合需要顺序执行任务的场景保证任务按照提交的顺序执行。 所有的客人任务一个接一个地坐在这张桌子旁边确保每个任务按顺序执行。 // 创建一个只有一个线程的线程池 ExecutorService executor Executors.newSingleThreadExecutor(); 定时执行线程池ScheduledThreadPool可以延时或定期执行任务比如每隔一段时间执行一次任务或者延迟一段时间后执行。 就像在派对中设置了几张定时餐桌每张桌子预定在特定的时间供特定数量的人坐下。 // 创建一个具有固定大小为3的定时执行线程池 ScheduledExecutorService executor Executors.newScheduledThreadPool(3); 工作窃取线程池ForkJoinPool是一种特殊的线程池适用于并行任务的处理每个线程都有自己的工作队列能够高效处理递归划分的任务。 // 创建一个工作窃取线程池 ForkJoinPool executor new ForkJoinPool(); 每一天都是起跑线勇敢迈出第一步
http://www.w-s-a.com/news/647795/

相关文章:

  • 汕头网站建设sagevis服装设计公司有什么职位
  • 网站流量分析报告医院网站制作公司
  • 仿58网站怎么做邯郸网站设计多少钱
  • 广州网站制作开发wordpress中文固定连接
  • 成都网站建设公司盈利吗专门做二手手机的网站有哪些
  • 手机网站设计需要学什么wordpress读法
  • WordPress pajx天津短视频seo
  • 检察院门户网站建设情况总结深圳网站制作长沙
  • 单页导航网站模板搜索量查询
  • 如何在一个地方建设网站营销型定制网站
  • 保定网站建设方案维护动易网站中添加邮箱
  • 简易网站的html代码wordpress音乐html
  • 四川住房和城乡建设厅网站打不开海山网站建设
  • 深圳设计功能网站如何用html制作网站
  • 网络优化软件下载竞价排名和seo的区别
  • 龙华新区做网站中高端网站建设
  • 网站开发小图标大全手机网站设计开发
  • 网页设计设计一个网站口碑营销的优点
  • 枣庄建网站的公司唐山企业网络推广培训
  • 张家界建设企业网站学校资源网站建设方案
  • 网站制作教程书籍业务管理系统
  • 上传网站空间的建站程序怎么删除c 网站开发案例详解下载
  • 企业网站维护兼职丹阳网站优化
  • 秦皇岛网站开发公司怎么注册自己的公司
  • 写作网站哪个能得稿费绿色环保企业网站模板
  • 牡丹江网站建设定制开发安徽建设工程信息网官网入口
  • 有什么好的网站建设的书适合在家做的网站工作
  • wordpress情侣源码西安网站快速优化
  • 昆明网站建设高端定制100种班服设计图
  • 网站开发程序说明html网页制作接单