timerservice.java

来自「RESIN 3.2 最新源码」· Java 代码 · 共 60 行

JAVA
60
字号
package example;import java.util.*;import java.util.concurrent.*;import javax.webbeans.Component;import javax.webbeans.In;import com.caucho.servlet.comet.*;@Componentpublic class TimerService implements Runnable {  private ScheduledExecutorService _timer;    private Future _timerFuture;    private ArrayList<CometState> _stateList    = new ArrayList<CometState>();  public TimerService(@In ScheduledExecutorService timer)  {    _timer = timer;        _timerFuture = _timer.scheduleAtFixedRate(this, 0, 2, TimeUnit.SECONDS);  }  public void addCometState(CometState state)  {    synchronized (_stateList) {      _stateList.add(state);    }  }  /**   * The timer task wakes up every active comet state.   *   * A more sophisticated application would notify the comet states   * as part of an event-based system.   */  public void run()  {    synchronized (_stateList) {      for (int i = _stateList.size() - 1; i >= 0; i--) {        CometState state = _stateList.get(i);        if (! state.wake())          _stateList.remove(i);      }    }  }  /**   * Close the timer.   */  public void close()  {    _timerFuture.cancel(false);  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?