java.util.concurrent.ThreadPoolExecutor.allowsCoreThreadTimeOut()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(11.6k)|赞(0)|评价(0)|浏览(91)

本文整理了Java中java.util.concurrent.ThreadPoolExecutor.allowsCoreThreadTimeOut()方法的一些代码示例,展示了ThreadPoolExecutor.allowsCoreThreadTimeOut()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ThreadPoolExecutor.allowsCoreThreadTimeOut()方法的具体详情如下:
包路径:java.util.concurrent.ThreadPoolExecutor
类名称:ThreadPoolExecutor
方法名:allowsCoreThreadTimeOut

ThreadPoolExecutor.allowsCoreThreadTimeOut介绍

[英]Returns true if this pool allows core threads to time out and terminate if no tasks arrive within the keepAlive time, being replaced if needed when new tasks arrive. When true, the same keep-alive policy applying to non-core threads applies also to core threads. When false (the default), core threads are never terminated due to lack of incoming tasks.
[中]如果此池允许核心线程超时,并在keepAlive时间内没有任务到达时终止,则返回true,如果新任务到达时需要替换。如果为true,则应用于非核心线程的相同保持活动策略也适用于核心线程。如果为false(默认值),核心线程将永远不会因为缺少传入任务而终止。

代码示例

代码示例来源:origin: jmxtrans/jmxtrans

@Override
public boolean allowsCoreThreadTimeOut() {
  return executor.allowsCoreThreadTimeOut();
}

代码示例来源:origin: robovm/robovm

/**
 * Sets the time limit for which threads may remain idle before
 * being terminated.  If there are more than the core number of
 * threads currently in the pool, after waiting this amount of
 * time without processing a task, excess threads will be
 * terminated.  This overrides any value set in the constructor.
 *
 * @param time the time to wait.  A time value of zero will cause
 *        excess threads to terminate immediately after executing tasks.
 * @param unit the time unit of the {@code time} argument
 * @throws IllegalArgumentException if {@code time} less than zero or
 *         if {@code time} is zero and {@code allowsCoreThreadTimeOut}
 * @see #getKeepAliveTime(TimeUnit)
 */
public void setKeepAliveTime(long time, TimeUnit unit) {
  if (time < 0)
    throw new IllegalArgumentException();
  if (time == 0 && allowsCoreThreadTimeOut())
    throw new IllegalArgumentException("Core threads must have nonzero keep alive times");
  long keepAliveTime = unit.toNanos(time);
  long delta = keepAliveTime - this.keepAliveTime;
  this.keepAliveTime = keepAliveTime;
  if (delta < 0)
    interruptIdleWorkers();
}

代码示例来源:origin: org.jmxtrans/jmxtrans-core

@Override
public boolean allowsCoreThreadTimeOut() {
  return executor.allowsCoreThreadTimeOut();
}

代码示例来源:origin: airlift/airlift

@Managed
public boolean isAllowCoreThreadTimeOut()
{
  return threadPoolExecutor.allowsCoreThreadTimeOut();
}

代码示例来源:origin: io.airlift/concurrent

@Managed
public boolean isAllowCoreThreadTimeOut()
{
  return threadPoolExecutor.allowsCoreThreadTimeOut();
}

代码示例来源:origin: com.azaptree/azaptree-executor-service

@Override
@ManagedAttribute(
    description = "Returns true if this pool allows core threads to time out and terminate if no tasks arrive within the keepAlive time, being replaced if needed when new tasks arrive.")
public boolean isCoreThreadTimeOutAllowed() {
  return super.allowsCoreThreadTimeOut();
}

代码示例来源:origin: com.teradata.airlift/concurrent

@Managed
public boolean isAllowCoreThreadTimeOut()
{
  return threadPoolExecutor.allowsCoreThreadTimeOut();
}

代码示例来源:origin: com.proofpoint.platform/concurrent

@Managed
public boolean isAllowCoreThreadTimeOut()
{
  return threadPoolExecutor.allowsCoreThreadTimeOut();
}

代码示例来源:origin: MobiVM/robovm

/**
 * Sets the time limit for which threads may remain idle before
 * being terminated.  If there are more than the core number of
 * threads currently in the pool, after waiting this amount of
 * time without processing a task, excess threads will be
 * terminated.  This overrides any value set in the constructor.
 *
 * @param time the time to wait.  A time value of zero will cause
 *        excess threads to terminate immediately after executing tasks.
 * @param unit the time unit of the {@code time} argument
 * @throws IllegalArgumentException if {@code time} less than zero or
 *         if {@code time} is zero and {@code allowsCoreThreadTimeOut}
 * @see #getKeepAliveTime(TimeUnit)
 */
public void setKeepAliveTime(long time, TimeUnit unit) {
  if (time < 0)
    throw new IllegalArgumentException();
  if (time == 0 && allowsCoreThreadTimeOut())
    throw new IllegalArgumentException("Core threads must have nonzero keep alive times");
  long keepAliveTime = unit.toNanos(time);
  long delta = keepAliveTime - this.keepAliveTime;
  this.keepAliveTime = keepAliveTime;
  if (delta < 0)
    interruptIdleWorkers();
}

代码示例来源:origin: com.gluonhq/robovm-rt

/**
 * Sets the time limit for which threads may remain idle before
 * being terminated.  If there are more than the core number of
 * threads currently in the pool, after waiting this amount of
 * time without processing a task, excess threads will be
 * terminated.  This overrides any value set in the constructor.
 *
 * @param time the time to wait.  A time value of zero will cause
 *        excess threads to terminate immediately after executing tasks.
 * @param unit the time unit of the {@code time} argument
 * @throws IllegalArgumentException if {@code time} less than zero or
 *         if {@code time} is zero and {@code allowsCoreThreadTimeOut}
 * @see #getKeepAliveTime(TimeUnit)
 */
public void setKeepAliveTime(long time, TimeUnit unit) {
  if (time < 0)
    throw new IllegalArgumentException();
  if (time == 0 && allowsCoreThreadTimeOut())
    throw new IllegalArgumentException("Core threads must have nonzero keep alive times");
  long keepAliveTime = unit.toNanos(time);
  long delta = keepAliveTime - this.keepAliveTime;
  this.keepAliveTime = keepAliveTime;
  if (delta < 0)
    interruptIdleWorkers();
}

代码示例来源:origin: org.apidesign.bck2brwsr/emul

/**
 * Sets the time limit for which threads may remain idle before
 * being terminated.  If there are more than the core number of
 * threads currently in the pool, after waiting this amount of
 * time without processing a task, excess threads will be
 * terminated.  This overrides any value set in the constructor.
 *
 * @param time the time to wait.  A time value of zero will cause
 *        excess threads to terminate immediately after executing tasks.
 * @param unit the time unit of the {@code time} argument
 * @throws IllegalArgumentException if {@code time} less than zero or
 *         if {@code time} is zero and {@code allowsCoreThreadTimeOut}
 * @see #getKeepAliveTime
 */
public void setKeepAliveTime(long time, TimeUnit unit) {
  if (time < 0)
    throw new IllegalArgumentException();
  if (time == 0 && allowsCoreThreadTimeOut())
    throw new IllegalArgumentException("Core threads must have nonzero keep alive times");
  long keepAliveTime = unit.toNanos(time);
  long delta = keepAliveTime - this.keepAliveTime;
  this.keepAliveTime = keepAliveTime;
  if (delta < 0)
    interruptIdleWorkers();
}

代码示例来源:origin: FlexoVM/flexovm

/**
 * Sets the time limit for which threads may remain idle before
 * being terminated.  If there are more than the core number of
 * threads currently in the pool, after waiting this amount of
 * time without processing a task, excess threads will be
 * terminated.  This overrides any value set in the constructor.
 *
 * @param time the time to wait.  A time value of zero will cause
 *        excess threads to terminate immediately after executing tasks.
 * @param unit the time unit of the {@code time} argument
 * @throws IllegalArgumentException if {@code time} less than zero or
 *         if {@code time} is zero and {@code allowsCoreThreadTimeOut}
 * @see #getKeepAliveTime(TimeUnit)
 */
public void setKeepAliveTime(long time, TimeUnit unit) {
  if (time < 0)
    throw new IllegalArgumentException();
  if (time == 0 && allowsCoreThreadTimeOut())
    throw new IllegalArgumentException("Core threads must have nonzero keep alive times");
  long keepAliveTime = unit.toNanos(time);
  long delta = keepAliveTime - this.keepAliveTime;
  this.keepAliveTime = keepAliveTime;
  if (delta < 0)
    interruptIdleWorkers();
}

代码示例来源:origin: ibinti/bugvm

/**
 * Sets the time limit for which threads may remain idle before
 * being terminated.  If there are more than the core number of
 * threads currently in the pool, after waiting this amount of
 * time without processing a task, excess threads will be
 * terminated.  This overrides any value set in the constructor.
 *
 * @param time the time to wait.  A time value of zero will cause
 *        excess threads to terminate immediately after executing tasks.
 * @param unit the time unit of the {@code time} argument
 * @throws IllegalArgumentException if {@code time} less than zero or
 *         if {@code time} is zero and {@code allowsCoreThreadTimeOut}
 * @see #getKeepAliveTime(TimeUnit)
 */
public void setKeepAliveTime(long time, TimeUnit unit) {
  if (time < 0)
    throw new IllegalArgumentException();
  if (time == 0 && allowsCoreThreadTimeOut())
    throw new IllegalArgumentException("Core threads must have nonzero keep alive times");
  long keepAliveTime = unit.toNanos(time);
  long delta = keepAliveTime - this.keepAliveTime;
  this.keepAliveTime = keepAliveTime;
  if (delta < 0)
    interruptIdleWorkers();
}

代码示例来源:origin: jtulach/bck2brwsr

/**
 * Sets the time limit for which threads may remain idle before
 * being terminated.  If there are more than the core number of
 * threads currently in the pool, after waiting this amount of
 * time without processing a task, excess threads will be
 * terminated.  This overrides any value set in the constructor.
 *
 * @param time the time to wait.  A time value of zero will cause
 *        excess threads to terminate immediately after executing tasks.
 * @param unit the time unit of the {@code time} argument
 * @throws IllegalArgumentException if {@code time} less than zero or
 *         if {@code time} is zero and {@code allowsCoreThreadTimeOut}
 * @see #getKeepAliveTime
 */
public void setKeepAliveTime(long time, TimeUnit unit) {
  if (time < 0)
    throw new IllegalArgumentException();
  if (time == 0 && allowsCoreThreadTimeOut())
    throw new IllegalArgumentException("Core threads must have nonzero keep alive times");
  long keepAliveTime = unit.toNanos(time);
  long delta = keepAliveTime - this.keepAliveTime;
  this.keepAliveTime = keepAliveTime;
  if (delta < 0)
    interruptIdleWorkers();
}

代码示例来源:origin: com.mobidevelop.robovm/robovm-rt

/**
 * Sets the time limit for which threads may remain idle before
 * being terminated.  If there are more than the core number of
 * threads currently in the pool, after waiting this amount of
 * time without processing a task, excess threads will be
 * terminated.  This overrides any value set in the constructor.
 *
 * @param time the time to wait.  A time value of zero will cause
 *        excess threads to terminate immediately after executing tasks.
 * @param unit the time unit of the {@code time} argument
 * @throws IllegalArgumentException if {@code time} less than zero or
 *         if {@code time} is zero and {@code allowsCoreThreadTimeOut}
 * @see #getKeepAliveTime(TimeUnit)
 */
public void setKeepAliveTime(long time, TimeUnit unit) {
  if (time < 0)
    throw new IllegalArgumentException();
  if (time == 0 && allowsCoreThreadTimeOut())
    throw new IllegalArgumentException("Core threads must have nonzero keep alive times");
  long keepAliveTime = unit.toNanos(time);
  long delta = keepAliveTime - this.keepAliveTime;
  this.keepAliveTime = keepAliveTime;
  if (delta < 0)
    interruptIdleWorkers();
}

代码示例来源:origin: com.bugvm/bugvm-rt

/**
 * Sets the time limit for which threads may remain idle before
 * being terminated.  If there are more than the core number of
 * threads currently in the pool, after waiting this amount of
 * time without processing a task, excess threads will be
 * terminated.  This overrides any value set in the constructor.
 *
 * @param time the time to wait.  A time value of zero will cause
 *        excess threads to terminate immediately after executing tasks.
 * @param unit the time unit of the {@code time} argument
 * @throws IllegalArgumentException if {@code time} less than zero or
 *         if {@code time} is zero and {@code allowsCoreThreadTimeOut}
 * @see #getKeepAliveTime(TimeUnit)
 */
public void setKeepAliveTime(long time, TimeUnit unit) {
  if (time < 0)
    throw new IllegalArgumentException();
  if (time == 0 && allowsCoreThreadTimeOut())
    throw new IllegalArgumentException("Core threads must have nonzero keep alive times");
  long keepAliveTime = unit.toNanos(time);
  long delta = keepAliveTime - this.keepAliveTime;
  this.keepAliveTime = keepAliveTime;
  if (delta < 0)
    interruptIdleWorkers();
}

代码示例来源:origin: org.codehaus.jsr166-mirror/jsr166

/**
 * Sets the time limit for which threads may remain idle before
 * being terminated.  If there are more than the core number of
 * threads currently in the pool, after waiting this amount of
 * time without processing a task, excess threads will be
 * terminated.  This overrides any value set in the constructor.
 *
 * @param time the time to wait.  A time value of zero will cause
 *        excess threads to terminate immediately after executing tasks.
 * @param unit the time unit of the {@code time} argument
 * @throws IllegalArgumentException if {@code time} less than zero or
 *         if {@code time} is zero and {@code allowsCoreThreadTimeOut}
 * @see #getKeepAliveTime
 */
public void setKeepAliveTime(long time, TimeUnit unit) {
  if (time < 0)
    throw new IllegalArgumentException();
  if (time == 0 && allowsCoreThreadTimeOut())
    throw new IllegalArgumentException("Core threads must have nonzero keep alive times");
  long keepAliveTime = unit.toNanos(time);
  long delta = keepAliveTime - this.keepAliveTime;
  this.keepAliveTime = keepAliveTime;
  if (delta < 0)
    interruptIdleWorkers();
}

相关文章

ThreadPoolExecutor类方法