/** * {@inheritDoc} */ @Override public void setCorePoolSize(int corePoolSize) { if (corePoolSize < 0) { throw new IllegalArgumentException("corePoolSize: " + corePoolSize); } if (corePoolSize > super.getMaximumPoolSize()) { throw new IllegalArgumentException("corePoolSize exceeds maximumPoolSize"); } synchronized (workers) { if (super.getCorePoolSize() > corePoolSize) { for (int i = super.getCorePoolSize() - corePoolSize; i > 0; i--) { removeWorker(); } } super.setCorePoolSize(corePoolSize); } }
/** * {@inheritDoc} */ @Override public void setCorePoolSize(int corePoolSize) { if (corePoolSize < 0) { throw new IllegalArgumentException("corePoolSize: " + corePoolSize); } if (corePoolSize > super.getMaximumPoolSize()) { throw new IllegalArgumentException("corePoolSize exceeds maximumPoolSize"); } synchronized (workers) { if (super.getCorePoolSize()> corePoolSize) { for (int i = super.getCorePoolSize() - corePoolSize; i > 0; i --) { removeWorker(); } } super.setCorePoolSize(corePoolSize); } }
/** * {@inheritDoc} */ @Override public void setCorePoolSize(int corePoolSize) { if (corePoolSize < 0) { throw new IllegalArgumentException("corePoolSize: " + corePoolSize); } if (corePoolSize > super.getMaximumPoolSize()) { throw new IllegalArgumentException("corePoolSize exceeds maximumPoolSize"); } synchronized (workers) { if (super.getCorePoolSize() > corePoolSize) { for (int i = super.getCorePoolSize() - corePoolSize; i > 0; i--) { removeWorker(); } } super.setCorePoolSize(corePoolSize); } }
/** * {@inheritDoc} */ @Override public void setMaximumPoolSize(int maximumPoolSize) { if ((maximumPoolSize <= 0) || (maximumPoolSize < super.getCorePoolSize())) { throw new IllegalArgumentException("maximumPoolSize: " + maximumPoolSize); } synchronized (workers) { super.setMaximumPoolSize(maximumPoolSize); int difference = workers.size() - maximumPoolSize; while (difference > 0) { removeWorker(); --difference; } } }
/** * {@inheritDoc} */ @Override public void setMaximumPoolSize(int maximumPoolSize) { if ((maximumPoolSize <= 0) || (maximumPoolSize < super.getCorePoolSize())) { throw new IllegalArgumentException("maximumPoolSize: " + maximumPoolSize); } synchronized (workers) { super.setMaximumPoolSize(maximumPoolSize); int difference = workers.size() - maximumPoolSize; while (difference > 0) { removeWorker(); --difference; } } }
/** * {@inheritDoc} */ @Override public void setMaximumPoolSize(int maximumPoolSize) { if ((maximumPoolSize <= 0) || (maximumPoolSize < super.getCorePoolSize())) { throw new IllegalArgumentException("maximumPoolSize: " + maximumPoolSize); } synchronized (workers) { super.setMaximumPoolSize( maximumPoolSize ); int difference = workers.size() - maximumPoolSize; while (difference > 0) { removeWorker(); --difference; } } }