Class AutoScaleThreadPool.ScaleRule

java.lang.Object
org.shoulder.monitor.concurrent.AutoScaleThreadPool.ScaleRule
Enclosing class:
AutoScaleThreadPool

public static final class AutoScaleThreadPool.ScaleRule extends Object
自动扩容、缩容规则 该类职责完全服务于外部类,故置为内部类
Author:
lym
  • Method Details

    • newRule

      public static AutoScaleThreadPool.ScaleRule newRule()
    • isSupportScale

      public boolean isSupportScale()
    • getExpansionOnTaskCount

      public int getExpansionOnTaskCount()
    • getShrinkageOnTaskCount

      public int getShrinkageOnTaskCount()
    • expansionDuration

      public AutoScaleThreadPool.ScaleRule expansionDuration(Duration expansionDuration)
    • shrinkageDuration

      public AutoScaleThreadPool.ScaleRule shrinkageDuration(Duration shrinkageDuration)
    • expansionLoadFactor

      public AutoScaleThreadPool.ScaleRule expansionLoadFactor(float expansionLoadFactor)
    • shrinkageLoadFactor

      public AutoScaleThreadPool.ScaleRule shrinkageLoadFactor(float shrinkageLoadFactor)
    • expansionThreadOneTime

      public AutoScaleThreadPool.ScaleRule expansionThreadOneTime(int expansionThreadOneTime)
    • shrinkageThreadOneTime

      public AutoScaleThreadPool.ScaleRule shrinkageThreadOneTime(int shrinkageThreadOneTime)
    • getExpansionDuration

      public Duration getExpansionDuration()
    • getShrinkageDuration

      public Duration getShrinkageDuration()
    • getExpansionLoadFactor

      public float getExpansionLoadFactor()
    • getShrinkageLoadFactor

      public float getShrinkageLoadFactor()
    • getExpansionThreadOneTime

      public int getExpansionThreadOneTime()
    • getShrinkageThreadOneTime

      public int getShrinkageThreadOneTime()
    • check

      public void check()
    • adjust

      public void adjust(int coreSize, int maxSize, int queueNum)
      根据线程池参数调整
      Parameters:
      coreSize - core
      maxSize - max
      queueNum - queueNum 队列需要有长度限制,若过大则调整的意义就没有了