如何在Java中动态调整缓存线程池的大小

绿点

目前,我正在使用期货进行异步线程处理。我希望它的功能类似于“ cachedThreadPool”,但还要做以下两件事:

  1. 每次成功完成一个线程时,增加允许的最大线程数。

  2. 如果线程引发异常或超时,则减少允许的最大线程数。

这可以在风俗习惯中做ThreadPoolExecutor吗?我对以这种方式使用Executors是陌生的,因此为我指出正确的方向将对解决此问题非常有帮助。

菲利普·怀特豪斯

应该仔细考虑动态调整线程池的大小。如果超时,并且您的响应是减少线程数,那么假设任务是可解析的,则可能会使问题变得更糟。

无论如何,这里的代码会在任务引发异常时更改池的大小,并在任务成功完成后使其变大

class ManagedThreadPoolExecutor extends ThreadPoolExecutor {
      @Override
      protected void afterExecute(Runnable r, Throwable t) {
           if(t != null)
                setMaximumPoolSize(getMaximumPoolSize()-1);
           else
                setMaximumPoolSize(getMaximumPoolSize()+1);

      }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在按钮上显示动态文本并在Android中自动调整其大小?

来自分类Dev

Spring ThreadPoolTaskExecutor与Java Executorservice缓存的线程池

来自分类Dev

如何在iOS中调整UIView的大小?

来自分类Dev

如何在横向中调整UIPageViewController的大小

来自分类Dev

如何在C#中动态调整文本框的大小

来自分类Dev

如何在Monotouch Xamarin中动态调整按钮和标签的大小

来自分类Dev

Spring Framework中的缓存线程池

来自分类Dev

如何在JTabbedPane中调整JTable的大小

来自分类Dev

如何在Xcode 6中使用AutoLayout创建动态调整大小的页面水平UIScrollView

来自分类Dev

如何在Java中测量线程池的时间?

来自分类Dev

无法理解如何在C中调整动态数组的大小

来自分类Dev

如何在Java Swing中动态控制自动调整大小的组件

来自分类Dev

如何在Android上选择线程池的大小

来自分类Dev

在Java中动态调整bufferedimage的大小

来自分类Dev

如何在UICollectionView中动态调整标题视图的大小?

来自分类Dev

线程池未调整大小

来自分类Dev

如何在Excel中调整图表大小

来自分类Dev

如何在ZODB中设置缓存大小?

来自分类Dev

如何在iPhone 4S Swift上的UITextView中动态调整文本大小

来自分类Dev

如何在Play Java中创建数据库线程池并使用此池进行数据库查询

来自分类Dev

如何在Flutter中动态调整容器大小时保持裁剪区域恒定?

来自分类Dev

使用线程池时,如何在Java中使线程空闲?

来自分类Dev

如何在SwiftUI中动态调整图像大小以实现可访问性?

来自分类Dev

如何在Java中创建动态线程

来自分类Dev

如何在iPhone 4S Swift上的UITextView中动态调整文本大小

来自分类Dev

如何在WildFly 10中动态更改JMS队列MDB池大小

来自分类Dev

如何在 Java 中定位和调整 JLabels 的大小?

来自分类Dev

如何在ignite中配置公共和系统线程池大小

来自分类Dev

如何在jframe java swing中调整jscrollpane的大小?

Related 相关文章

  1. 1

    如何在按钮上显示动态文本并在Android中自动调整其大小?

  2. 2

    Spring ThreadPoolTaskExecutor与Java Executorservice缓存的线程池

  3. 3

    如何在iOS中调整UIView的大小?

  4. 4

    如何在横向中调整UIPageViewController的大小

  5. 5

    如何在C#中动态调整文本框的大小

  6. 6

    如何在Monotouch Xamarin中动态调整按钮和标签的大小

  7. 7

    Spring Framework中的缓存线程池

  8. 8

    如何在JTabbedPane中调整JTable的大小

  9. 9

    如何在Xcode 6中使用AutoLayout创建动态调整大小的页面水平UIScrollView

  10. 10

    如何在Java中测量线程池的时间?

  11. 11

    无法理解如何在C中调整动态数组的大小

  12. 12

    如何在Java Swing中动态控制自动调整大小的组件

  13. 13

    如何在Android上选择线程池的大小

  14. 14

    在Java中动态调整bufferedimage的大小

  15. 15

    如何在UICollectionView中动态调整标题视图的大小?

  16. 16

    线程池未调整大小

  17. 17

    如何在Excel中调整图表大小

  18. 18

    如何在ZODB中设置缓存大小?

  19. 19

    如何在iPhone 4S Swift上的UITextView中动态调整文本大小

  20. 20

    如何在Play Java中创建数据库线程池并使用此池进行数据库查询

  21. 21

    如何在Flutter中动态调整容器大小时保持裁剪区域恒定?

  22. 22

    使用线程池时,如何在Java中使线程空闲?

  23. 23

    如何在SwiftUI中动态调整图像大小以实现可访问性?

  24. 24

    如何在Java中创建动态线程

  25. 25

    如何在iPhone 4S Swift上的UITextView中动态调整文本大小

  26. 26

    如何在WildFly 10中动态更改JMS队列MDB池大小

  27. 27

    如何在 Java 中定位和调整 JLabels 的大小?

  28. 28

    如何在ignite中配置公共和系统线程池大小

  29. 29

    如何在jframe java swing中调整jscrollpane的大小?

热门标签

归档