专栏名称: ImportNew
伯乐在线旗下账号,专注Java技术分享,包括Java基础技术、进阶技能、架构设计和Java技术领域动态等。
今天看啥  ›  专栏  ›  ImportNew

Java 线程池的一个 Bug 直接把 CPU 干到 100%

ImportNew  · 公众号  · Java  · 2024-05-30 11:30
    

文章预览

给大家分享一个关于 ScheduledExecutorService 线程池的 Bug 啊,这个 Bug 能直接把 CPU 给飚到 100%,希望大家永远踩不到。 但是,有一说一,一般来说也很难踩到。 到底咋回事呢,让我给你细细道来。 Demo 老规矩,按照惯例,先搞个 Demo 出来玩玩: 项目里面使用到了 ScheduledThreadPoolExecutor 线程池,该线程池对应的核心线程数放在配置文件里面,通过 @Value 注解来读取配置文件。 然后通过接口触发这个线程池里面的任务。 具体来说就是在上面的示例代码中,在调用 testScheduledPool 接口之后,程序会在 60 秒之后输出“执行业务逻辑”。 这个代码的逻辑还是非常简单清晰的,但是上面的代码有一个问题,不知道你看出来没有? 没看出来也没关系,我这里都是鼓励式教学的,不打击同学的积极性。 所以,别着急,我先给你跑起来,你瞅一眼立马就能看出问题是 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览