Package org.shoulder.monitor.concurrent
Class AutoScaleThreadPool.ScaleRule
java.lang.Object
org.shoulder.monitor.concurrent.AutoScaleThreadPool.ScaleRule
- Enclosing class:
AutoScaleThreadPool
自动扩容、缩容规则
该类职责完全服务于外部类,故置为内部类
- Author:
- lym
-
Method Summary
Modifier and TypeMethodDescriptionvoidadjust(int coreSize, int maxSize, int queueNum) 根据线程池参数调整voidcheck()expansionDuration(Duration expansionDuration) expansionLoadFactor(float expansionLoadFactor) expansionThreadOneTime(int expansionThreadOneTime) floatintintfloatintintbooleannewRule()shrinkageDuration(Duration shrinkageDuration) shrinkageLoadFactor(float shrinkageLoadFactor) shrinkageThreadOneTime(int shrinkageThreadOneTime)
-
Method Details
-
newRule
-
isSupportScale
public boolean isSupportScale() -
getExpansionOnTaskCount
public int getExpansionOnTaskCount() -
getShrinkageOnTaskCount
public int getShrinkageOnTaskCount() -
expansionDuration
-
shrinkageDuration
-
expansionLoadFactor
-
shrinkageLoadFactor
-
expansionThreadOneTime
-
shrinkageThreadOneTime
-
getExpansionDuration
-
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- coremaxSize- maxqueueNum- queueNum 队列需要有长度限制,若过大则调整的意义就没有了
-