跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请教一个问题, threadPoolExecutor.execute()能被 AOP 增强吗?
未分類
4 2 月 2021

请教一个问题, threadPoolExecutor.execute()能被 AOP 增强吗?

请教一个问题, threadPoolExecutor.execute()能被 AOP 增强吗?

資深大佬 : gengzi 5

想在线程执行前,执行后,做一些事情

大佬有話說 (8)

  • 資深大佬 : zxlzy

    不行,只能是 Spring 代理的类,但是你可以通过继承 ThreadPoolExecutor, 然后重载 execute() 方法实现

  • 資深大佬 : senninha

    ASM 插入逻辑生成字节码,然后 redefine 。

  • 資深大佬 : fantastM

    > 想在线程执行前,执行后,做一些事情

    ThreadPoolExecutor 内部提供了两个钩子方法 beforeExecute(Thread, Runnable) 和 afterExecute(Runnable, Throwable),正好符合你的需求。具体的看源码就清楚了 https://github.com/openjdk/jdk/blob/jdk8-b21/jdk/src/share/classes/java/util/concurrent/ThreadPoolExecutor.java#L1098-L1130

  • 資深大佬 : hangszhang

    有钩子啊, 继承 ThreadPoolExecutor 之后实现就好了

  • 資深大佬 : oneisall8955

    thread/task 用 abstract 封装成 base thread,里面加个 abstract 的 before 方法,run 方法重载先执行 before 再执行具体的 execute 方法。最后具体子类实现 before ?
    随便想想,不知道可不可

  • 主 資深大佬 : gengzi

    @zxlzy
    @senninha
    @fantastM
    @hangszhang
    @oneisall8955
    主要是想,不修改之前的逻辑,也能增强原有的方法。感谢各位大佬的思路,我去瞅瞅

  • 資深大佬 : eaglewangl37670

    @fantastM 学到了,感谢老哥

  • 資深大佬 : fantastM

    @eaglewangl37670 #7 不妨看看我博客里的这篇文章,对线程池的源码分析得更多 🙂

    https://blog.fantasticmao.cn/2020/10/01/java-threadpoolexecutor-源码分析 /

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具