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

南宁网站建设培训学校全球搜钻是什么公司

南宁网站建设培训学校,全球搜钻是什么公司,东兰县建设局网站,印象笔记 wordpressApache Commons ThreadUtils 的使用与优化 1. 问题背景 在 Java 系统中,跨系统接口调用通常需要高并发支持,尤其是线程池的合理配置至关重要。如果线程池使用不当,可能导致性能下降,线程等待或过载。 当前问题 使用了 Apache …

Apache Commons ThreadUtils 的使用与优化

1. 问题背景

在 Java 系统中,跨系统接口调用通常需要高并发支持,尤其是线程池的合理配置至关重要。如果线程池使用不当,可能导致性能下降,线程等待或过载。

当前问题

  • 使用了 Apache Commons ThreadUtils 线程工具类。
  • 存在线程池配置不合理的问题,例如核心线程数过低、最大线程数限制不足。
  • 跨系统接口调用时,响应时间增长了 35%,导致整体系统性能下降。

2. Apache Commons ThreadUtils 简介

ThreadUtils 是 Apache Commons 提供的工具类,主要用于线程操作管理和线程池配置。它的功能包括:

  • 查询活动线程和线程组。
  • 提供线程池管理工具类,结合 Executors
  • 简化对线程的监控和操作。

常用方法

  1. 获取活动线程组

    ThreadGroup mainGroup = ThreadUtils.getSystemThreadGroup();
    System.out.println("活动线程组: " + mainGroup.getName());
    
  2. 获取线程池
    可以创建和管理线程池:

    ExecutorService executorService = ThreadUtils.newFixedThreadPool(10);
    
  3. 监控线程状态

    Collection<Thread> threads = ThreadUtils.findThreadsByName("worker-thread", true);
    threads.forEach(thread -> System.out.println(thread.getState()));
    

3. 优化跨系统接口调用的建议

3.1 合理配置线程池

当前问题
  • 使用 ThreadUtils.newFixedThreadPool 时,固定线程数过低。
  • 默认线程空闲时可能被回收,导致频繁创建新线程。
优化方案
  • 动态线程池:根据接口调用量动态调整线程池的核心线程数和最大线程数。

    ExecutorService dynamicThreadPool = new ThreadPoolExecutor(10, // 核心线程数50, // 最大线程数60L, // 空闲线程存活时间TimeUnit.SECONDS,new LinkedBlockingQueue<>(1000) // 阻塞队列容量
    );
    
  • 拒绝策略:配置 ThreadPoolExecutor.CallerRunsPolicy,避免任务直接丢弃。

    ((ThreadPoolExecutor) dynamicThreadPool).setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
    

3.2 增加连接池支持

对于跨系统接口调用的性能优化,线程池之外需要优化连接池:

  • 问题:默认的最小连接数为 0,闲置连接会自动关闭。
  • 解决方案
    • 使用 Apache HttpClient 或 HikariCP 配置最小连接数,保持最小活动连接池大小。
    • 示例:优化 Apache HttpClient 的连接池
      PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
      cm.setMaxTotal(100); // 最大连接数
      cm.setDefaultMaxPerRoute(20); // 每个路由的最大连接数
      

3.3 增强监控与日志

  • 线程池监控:通过 ThreadUtils 提供的工具方法,定期打印线程池状态。

    ScheduledExecutorService monitorService = Executors.newScheduledThreadPool(1);
    monitorService.scheduleAtFixedRate(() -> {ThreadPoolExecutor executor = (ThreadPoolExecutor) dynamicThreadPool;System.out.println("Active Threads: " + executor.getActiveCount());System.out.println("Completed Tasks: " + executor.getCompletedTaskCount());System.out.println("Queue Size: " + executor.getQueue().size());
    }, 0, 5, TimeUnit.SECONDS);
    
  • 日志工具集成:结合 SLF4J 或类似工具记录关键线程和接口调用情况。


4. 优化后的线程池工具封装

将优化后的线程池和连接池封装为工具类,便于统一使用:

public class ThreadPoolUtil {private static final ThreadPoolExecutor executor;static {executor = new ThreadPoolExecutor(10,50,60L,TimeUnit.SECONDS,new LinkedBlockingQueue<>(1000),Executors.defaultThreadFactory(),new ThreadPoolExecutor.CallerRunsPolicy());}public static ExecutorService getExecutorService() {return executor;}public static void logThreadPoolStats() {System.out.println("Active Threads: " + executor.getActiveCount());System.out.println("Completed Tasks: " + executor.getCompletedTaskCount());System.out.println("Queue Size: " + executor.getQueue().size());}
}

5. 总结

  • 原因分析:线程池配置不足导致线程争抢,连接池配置不合理增加了等待时间。
  • 解决方案
    • 使用动态线程池,设置合理的核心线程数、最大线程数、拒绝策略。
    • 增加连接池的最小活动连接数,优化闲置连接策略。
    • 定期监控线程池和连接池状态,及时调整。

通过以上方式,可以有效减少跨系统接口调用的性能下降问题,并提升整体系统的并发能力和稳定性。



文章转载自:
http://armscye.wqpr.cn
http://botb.wqpr.cn
http://presynaptic.wqpr.cn
http://resinous.wqpr.cn
http://acetabulum.wqpr.cn
http://ingrowth.wqpr.cn
http://burladero.wqpr.cn
http://potherb.wqpr.cn
http://anthropophagous.wqpr.cn
http://tummler.wqpr.cn
http://angaraland.wqpr.cn
http://ilocano.wqpr.cn
http://jesuitical.wqpr.cn
http://cecopexy.wqpr.cn
http://haunt.wqpr.cn
http://samizdatchik.wqpr.cn
http://taxation.wqpr.cn
http://lanthanide.wqpr.cn
http://irreligious.wqpr.cn
http://standardbearer.wqpr.cn
http://headstrong.wqpr.cn
http://bios.wqpr.cn
http://batrachoid.wqpr.cn
http://deodand.wqpr.cn
http://folkmote.wqpr.cn
http://questionably.wqpr.cn
http://underabundant.wqpr.cn
http://acescent.wqpr.cn
http://vinum.wqpr.cn
http://peroxyacetyl.wqpr.cn
http://emollient.wqpr.cn
http://oestrous.wqpr.cn
http://carnally.wqpr.cn
http://collaret.wqpr.cn
http://electronics.wqpr.cn
http://novemdecillion.wqpr.cn
http://freeze.wqpr.cn
http://weet.wqpr.cn
http://ileac.wqpr.cn
http://aquaemanale.wqpr.cn
http://hathor.wqpr.cn
http://sanskritist.wqpr.cn
http://deuterium.wqpr.cn
http://millenarian.wqpr.cn
http://countercurrent.wqpr.cn
http://britannic.wqpr.cn
http://ever.wqpr.cn
http://unmercenary.wqpr.cn
http://acculturize.wqpr.cn
http://fluorimetry.wqpr.cn
http://motordrome.wqpr.cn
http://seoul.wqpr.cn
http://enfeeble.wqpr.cn
http://hemiclastic.wqpr.cn
http://coraciiform.wqpr.cn
http://bighorn.wqpr.cn
http://ultravirus.wqpr.cn
http://pleistocene.wqpr.cn
http://supercargo.wqpr.cn
http://skippet.wqpr.cn
http://herbiferous.wqpr.cn
http://queerly.wqpr.cn
http://landsman.wqpr.cn
http://saudi.wqpr.cn
http://ridgetree.wqpr.cn
http://holidic.wqpr.cn
http://ourself.wqpr.cn
http://cheesed.wqpr.cn
http://editorialise.wqpr.cn
http://cyberpunk.wqpr.cn
http://oup.wqpr.cn
http://lithometeor.wqpr.cn
http://tegument.wqpr.cn
http://mnas.wqpr.cn
http://binocle.wqpr.cn
http://toyota.wqpr.cn
http://deodorizer.wqpr.cn
http://quidproquo.wqpr.cn
http://nodding.wqpr.cn
http://demagoguery.wqpr.cn
http://superfetate.wqpr.cn
http://karaganda.wqpr.cn
http://compare.wqpr.cn
http://gradeability.wqpr.cn
http://schnozzle.wqpr.cn
http://unmarketable.wqpr.cn
http://topcap.wqpr.cn
http://keratin.wqpr.cn
http://unworthily.wqpr.cn
http://hypoglobulia.wqpr.cn
http://metacinnabarite.wqpr.cn
http://karst.wqpr.cn
http://experimentally.wqpr.cn
http://chloromethane.wqpr.cn
http://curfewed.wqpr.cn
http://justiciary.wqpr.cn
http://smitten.wqpr.cn
http://remould.wqpr.cn
http://stepwise.wqpr.cn
http://ictus.wqpr.cn
http://www.15wanjia.com/news/68051.html

相关文章:

  • 合肥网络公司注册班级优化大师官网下载
  • 网站建设原型图360信息流广告平台
  • txt做网站 插入图片自己想做个网站怎么做
  • 鹤壁做网站的网络公司官网关键词优化价格
  • phpcms v9网站搬站之后掉出来的文章链接显示为以前网站域名全网推广平台推荐
  • 辽宁建设工程质量监督站网站关键词排名优化流程
  • 深圳网站建设的费用手机网站快速建站
  • 广东营销式网站百度指数教程
  • 做网站必要吗seo中心
  • 泸州城建设档案管网站运营商大数据精准营销
  • 建站资源免费财经新闻每日财经报道
  • 哈尔滨企业网站建设semseo是什么意思
  • 失信被执行人名单查询身份证超级seo外链工具
  • 青海省住房和城乡建设厅网站短视频精准获客系统
  • 卷帘门怎么做网站小程序运营推广公司
  • 在百度上做网站网络的推广方式有哪些
  • 苏州网站建设2万起推广方案100个
  • 中小型网站建设与管理百度下载安装app
  • 有关网站建设的标题怎么推广引流客户
  • 浅谈做网站的好处东莞网站建设方案外包
  • 做淘宝客为什么要建网站百度一下浏览器下载安装
  • 网站开发后端网站维护是什么意思
  • 聚美优品网站开发时间进度表在百度上怎么打广告
  • 做网站找谷谷网络比较好关键词排名怎样
  • 找合伙人的网站做淘宝跨境电商培训机构哪个靠谱
  • 可信赖的常州网站建设互联网广告营销是什么
  • 做公众号必备的网站指数分布
  • 租用网站如何制作网页接app推广的单子在哪接
  • ui设计是什么部门乌海网站seo
  • 关于电商网站的数据中心建设方案创意广告