protected void waitAndSweep(String symbol) {
try {
long sweepTime = symbolInfo.getSweepTime(symbol);
long timeSinceLastSweep = System.currentTimeMillis() - sweepTime;
long waitTime = timeSinceLastSweep >= getInterval() ? 0 : getInterval() - timeSinceLastSweep;
logTradeEvent("waitAndSweep", symbol, "waittime: " + waitTime);
if (waitTime > 0){
Thread.sleep(waitTime);
}
callSweep(symbol);
}catch (InterruptedException e) {
Thread.currentThread().interrupt();
}catch (Exception e) {
logEvent(StrategyEntry.ERROR, "waitAndSweep", symbol,
"Exception caught...", e);
}
}
当它处于睡眠状态时(Thread.sleep),如何中断这个线程,让它从waitandSweep方法中出来?
private void replace(){
// interrupt the thread;
// call waitandsweep again here;
waitandsweep(symbol)