@Override public String toString() { return String.format("%s[%s]@%x{%s,%d<=%d<=%d,i=%d,q=%d}[%s]", getClass().getSimpleName(), _name, hashCode(), getState(), getMinThreads(), getThreads(), getMaxThreads(), getIdleThreads(), _jobs.size(), _tryExecutor); }
/** * @return the number of busy threads in the pool */ @ManagedAttribute("number of busy threads in the pool") public int getBusyThreads() { int reserved = _tryExecutor instanceof ReservedThreadExecutor ? ((ReservedThreadExecutor)_tryExecutor).getAvailable() : 0; return getThreads() - getIdleThreads() - reserved; }
/** * <p>Returns whether this thread pool is low on threads.</p> * <p>The current formula is:</p> * <pre> * maxThreads - threads + idleThreads - queueSize <= lowThreadsThreshold * </pre> * * @return whether the pool is low on threads * @see #getLowThreadsThreshold() */ @Override @ManagedAttribute(value = "thread pool is low on threads", readonly = true) public boolean isLowOnThreads() { return getMaxThreads() - getThreads() + getIdleThreads() - getQueueSize() <= getLowThreadsThreshold(); }
public int getIdleThreads() { return threadPool.getIdleThreads(); }
@Override public Long getInstantValue() { return Long.valueOf(this.httpThreadPool.getIdleThreads()); } }
@Managed(description = "number of idle threads in the pool") public int getIdleThreads() { return threadPool.getIdleThreads(); }
/** * @return The number of busy threads in the pool */ @ManagedAttribute("total number of busy threads in the pool") public int getBusyThreads() { return getThreads() - getIdleThreads(); }
@Override public String toString() { return _name+"{"+getMinThreads()+"<="+getIdleThreads()+"<="+getThreads()+"/"+getMaxThreads()+","+(_jobs==null?-1:_jobs.size())+"}"; }
@Override public String toString() { return String.format("%s[%s]@%x{%s,%d<=%d<=%d,i=%d,q=%d}[%s]", getClass().getSimpleName(), _name, hashCode(), getState(), getMinThreads(), getThreads(), getMaxThreads(), getIdleThreads(), _jobs.size(), _tryExecutor); }
@Override public String toString() { return _name+"{"+getMinThreads()+"<="+getIdleThreads()+"<="+getThreads()+"/"+getMaxThreads()+","+(_jobs==null?-1:_jobs.size())+"}"; }
@Override public String toString() { return _name+"{"+getMinThreads()+"<="+getIdleThreads()+"<="+getThreads()+"/"+getMaxThreads()+","+(_jobs==null?-1:_jobs.size())+"}"; }
@Override public String toString() { return _name+"{"+getMinThreads()+"<="+getIdleThreads()+"<="+getThreads()+"/"+getMaxThreads()+","+(_jobs==null?-1:_jobs.size())+"}"; }
@Override public String toString() { return String.format("%s{%s,%d<=%d<=%d,i=%d,q=%d}", _name, getState(), getMinThreads(), getThreads(), getMaxThreads(), getIdleThreads(), (_jobs == null ? -1 : _jobs.size())); }
@Override public String toString() { return String.format("%s{%s,%d<=%d<=%d,i=%d,q=%d}", _name, getState(), getMinThreads(), getThreads(), getMaxThreads(), getIdleThreads(), (_jobs == null ? -1 : _jobs.size())); }
@Override public String toString() { return String.format("%s{%s,%d<=%d<=%d,i=%d,q=%d}", _name, getState(), getMinThreads(), getThreads(), getMaxThreads(), getIdleThreads(), (_jobs == null ? -1 : _jobs.size())); }
public boolean dispatch(Runnable job) { if (isRunning()) { final int jobQ = _jobs.size(); final int idle = getIdleThreads(); if(_jobs.offer(job)) { // If we had no idle threads or the jobQ is greater than the idle threads if (idle==0 || jobQ>idle) { int threads=_threadsStarted.get(); if (threads<_maxThreads) startThread(threads); } return true; } } LOG.debug("Dispatched {} to stopped {}",job,this); return false; }
public boolean dispatch(Runnable job) { if (isRunning()) { final int jobQ = _jobs.size(); final int idle = getIdleThreads(); if(_jobs.offer(job)) { // If we had no idle threads or the jobQ is greater than the idle threads if (idle==0 || jobQ>idle) { int threads=_threadsStarted.get(); if (threads<_maxThreads) startThread(threads); } return true; } } LOG.debug("Dispatched {} to stopped {}",job,this); return false; }
/** * @return the number of busy threads in the pool */ @ManagedAttribute("number of busy threads in the pool") public int getBusyThreads() { int reserved = _tryExecutor instanceof ReservedThreadExecutor ? ((ReservedThreadExecutor)_tryExecutor).getAvailable() : 0; return getThreads() - getIdleThreads() - reserved; }
@Gauge public int getFreeThreadCount() { return (executor.getMaxThreads() - executor.getThreads()) + executor.getIdleThreads() ; }
/** * <p>Returns whether this thread pool is low on threads.</p> * <p>The current formula is:</p> * <pre> * maxThreads - threads + idleThreads - queueSize <= lowThreadsThreshold * </pre> * * @return whether the pool is low on threads * @see #getLowThreadsThreshold() */ @Override @ManagedAttribute(value = "thread pool is low on threads", readonly = true) public boolean isLowOnThreads() { return getMaxThreads() - getThreads() + getIdleThreads() - getQueueSize() <= getLowThreadsThreshold(); }