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

x33g5p2x  于2022-01-18 转载在 其他  
字(6.7k)|赞(0)|评价(0)|浏览(236)

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

FutureTask.runAndReset介绍

[英]Executes the computation without setting its result, and then resets this future to initial state, failing to do so if the computation encounters an exception or is cancelled. This is designed for use with tasks that intrinsically execute more than once.
[中]执行计算而不设置其结果,然后将此future重置为初始状态,如果计算遇到异常或被取消,则无法执行此操作。它设计用于本质上执行多次的任务。

代码示例

代码示例来源:origin: apache/geode

@Override
public void run() {
 if (periodic) {
  super.runAndReset();
 } else {
  super.run();
 }
}

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

/**
   * Overrides FutureTask version so as to reset/requeue if periodic.
   */
  public void run() {
    boolean periodic = isPeriodic();
    if (!canRunInCurrentRunState(periodic))
      cancel(false);
    else if (!periodic)
      ScheduledFutureTask.super.run();
    else if (ScheduledFutureTask.super.runAndReset()) {
      setNextRunTime();
      reExecutePeriodic(outerTask);
    }
  }
}

代码示例来源:origin: io.snappydata/gemfire-core

@Override
public void run() {
 if(periodic) {
  super.runAndReset();
 } else {
  super.run();
 }
}
public void setDelegate(ScheduledFuture<V> future) {

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

@Override
public void run() {
 if (recurring) {
  super.runAndReset();
 } else {
  super.run();
 }
}

代码示例来源:origin: org.threadly/threadly

@Override
public void run() {
 if (recurring) {
  super.runAndReset();
 } else {
  super.run();
 }
}

代码示例来源:origin: org.apache.geode/gemfire-core

@Override
public void run() {
 if(periodic) {
  super.runAndReset();
 } else {
  super.run();
 }
}
public void setDelegate(ScheduledFuture<V> future) {

代码示例来源:origin: stackoverflow.com

java.util.ConcurrentModificationException
   at java.util.HashMap$KeySet.forEach(HashMap.java:935)
   at Cache.lambda$new$1(Cache.java:32)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
   at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
   at java.lang.Thread.run(Thread.java:745)

代码示例来源:origin: gearman/java-service

@Override
public final void run() {
  switch(this.type) {
  case SCHEDULED:
    super.run();
    break;
  case FIXED_RATE:
    if (super.runAndReset())
      this.reschedule(this.time + this.period);
    break;
  case FIXED_DELAY:
    if (super.runAndReset())
      this.reschedule(System.nanoTime() + period);
    break;
  }
}

代码示例来源:origin: org.springframework.integration/org.springframework.integration

public void run() {
  SimpleTaskScheduler.this.executingTasks.add(this);
  super.runAndReset();
  SimpleTaskScheduler.this.executingTasks.remove(this);
  if (SimpleTaskScheduler.this.isRunning() && !this.isCancelled()) {
    SimpleTaskScheduler.this.schedule(this, this.scheduledTime, new Date());
  }
}

代码示例来源:origin: pl.edu.icm.yadda/yadda-process

public void run() {
  SimpleTaskScheduler.this.executingTasks.add(this);
  super.runAndReset();
  SimpleTaskScheduler.this.executingTasks.remove(this);
  if (SimpleTaskScheduler.this.isRunning() && !this.isCancelled()) {
    SimpleTaskScheduler.this.schedule(this, this.scheduledTime, new Date());
  }
}

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

/**
   * Overrides FutureTask version so as to reset/requeue if periodic.
   */
  public void run() {
    boolean periodic = isPeriodic();
    if (!canRunInCurrentRunState(periodic))
      cancel(false);
    else if (!periodic)
      ScheduledFutureTask.super.run();
    else if (ScheduledFutureTask.super.runAndReset()) {
      setNextRunTime();
      reExecutePeriodic(outerTask);
    }
  }
}

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

/**
   * Overrides FutureTask version so as to reset/requeue if periodic.
   */
  public void run() {
    boolean periodic = isPeriodic();
    if (!canRunInCurrentRunState(periodic))
      cancel(false);
    else if (!periodic)
      ScheduledFutureTask.super.run();
    else if (ScheduledFutureTask.super.runAndReset()) {
      setNextRunTime();
      reExecutePeriodic(outerTask);
    }
  }
}

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

/**
   * Overrides FutureTask version so as to reset/requeue if periodic.
   */
  public void run() {
    boolean periodic = isPeriodic();
    if (!canRunInCurrentRunState(periodic))
      cancel(false);
    else if (!periodic)
      ScheduledFutureTask.super.run();
    else if (ScheduledFutureTask.super.runAndReset()) {
      setNextRunTime();
      reExecutePeriodic(outerTask);
    }
  }
}

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

/**
   * Overrides FutureTask version so as to reset/requeue if periodic.
   */
  public void run() {
    boolean periodic = isPeriodic();
    if (!canRunInCurrentRunState(periodic))
      cancel(false);
    else if (!periodic)
      ScheduledFutureTask.super.run();
    else if (ScheduledFutureTask.super.runAndReset()) {
      setNextRunTime();
      reExecutePeriodic(outerTask);
    }
  }
}

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

/**
   * Overrides FutureTask version so as to reset/requeue if periodic.
   */
  public void run() {
    boolean periodic = isPeriodic();
    if (!canRunInCurrentRunState(periodic))
      cancel(false);
    else if (!periodic)
      ScheduledFutureTask.super.run();
    else if (ScheduledFutureTask.super.runAndReset()) {
      setNextRunTime();
      reExecutePeriodic(outerTask);
    }
  }
}

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

/**
   * Overrides FutureTask version so as to reset/requeue if periodic.
   */
  public void run() {
    boolean periodic = isPeriodic();
    if (!canRunInCurrentRunState(periodic))
      cancel(false);
    else if (!periodic)
      ScheduledFutureTask.super.run();
    else if (ScheduledFutureTask.super.runAndReset()) {
      setNextRunTime();
      reExecutePeriodic(outerTask);
    }
  }
}

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

/**
   * Overrides FutureTask version so as to reset/requeue if periodic.
   */
  public void run() {
    boolean periodic = isPeriodic();
    if (!canRunInCurrentRunState(periodic))
      cancel(false);
    else if (!periodic)
      ScheduledFutureTask.super.run();
    else if (ScheduledFutureTask.super.runAndReset()) {
      setNextRunTime();
      reExecutePeriodic(outerTask);
    }
  }
}

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

/**
   * Overrides FutureTask version so as to reset/requeue if periodic.
   */
  public void run() {
    boolean periodic = isPeriodic();
    if (!canRunInCurrentRunState(periodic))
      cancel(false);
    else if (!periodic)
      ScheduledFutureTask.super.run();
    else if (ScheduledFutureTask.super.runAndReset()) {
      setNextRunTime();
      reExecutePeriodic(outerTask);
    }
  }
}

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

/**
   * Overrides FutureTask version so as to reset/requeue if periodic.
   */
  public void run() {
    boolean periodic = isPeriodic();
    if (!canRunInCurrentRunState(periodic))
      cancel(false);
    else if (!periodic)
      ScheduledFutureTask.super.run();
    else if (ScheduledFutureTask.super.runAndReset()) {
      setNextRunTime();
      reExecutePeriodic(outerTask);
    }
  }
}

代码示例来源:origin: co.paralleluniverse/quasar-core

/**
   * Overrides FutureTask version so as to reset/requeue if periodic.
   */
  @Override
  public void run() {
    boolean periodic = isPeriodic();
    if (!canRunInCurrentRunState(periodic))
      cancel(false);
    else if (!periodic)
      ScheduledFutureTask.super.run();
    else if (ScheduledFutureTask.super.runAndReset()) {
      setNextRunTime();
      reExecutePeriodic(outerTask);
    }
  }
}

相关文章