【JAVA基礎】超時邏輯

  • 【JAVA基礎】超時邏輯
package com.springboot.hello.timeout;

import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @Description: WaitTimeoutTest
 * @Author: zr
 * @Date: 2020-01-01
 * @Version:v1.0
 */
public class WaitTimeoutTest {
    private static final Logger logger = LoggerFactory.getLogger(WaitTimeoutTest.class);

    private static volatile int num = 0;

    @Test
    public void testTimeout() {
        System.out.println(waitTime(100));
    }

    public int waitTime(long time) {
        long future = System.currentTimeMillis() + time;
        long remaining = time;
        while (num < 10 && remaining > 0) {
            num++;
            remaining = future - System.currentTimeMillis();
            logger.info("WaitTimeoutTest.waitTime start, remaining : [{}],num : [{}]", remaining, num);
        }
        return num;
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章