`
mwhgJava
  • 浏览: 95123 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

TimeInterval

阅读更多
TimeInterval, 用于计算上次获取时间间隔的时间到当前时间的时间间隔



非线程安全版本,用于1个线程里。
public class TimeInterval {

    private long current;

    public TimeInterval() {
        current = System.currentTimeMillis();
    }

    public long get() {
        long last = current;
        current = System.currentTimeMillis();
        return current - last;
    }
}


----------------------------------------------------------------------------
线程安全版本,可以用于多个线程并发。
import java.util.concurrent.atomic.AtomicLong;

    private final AtomicLong currentTimeHolder;

    public TimeInterval() {
        currentTimeHolder = new AtomicLong(System.currentTimeMillis());
    }

    public long get() {
        long current = System.currentTimeMillis();
        long last = currentTimeHolder.getAndSet(current);
        return current - last;
    }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics