Java ThreadLocal應用實例 獲取方法運行時間

之前寫了一個AOP形式發送日誌給Kafka的demo
日誌中有一個字段-獲取方法運行時間
這個要求看起來簡單(其實也簡單)
在高併發的情況下不能使用普通變量long
使用ThreadLocal更合適(防止同時多次請求時數據被改變)

	public final static ThreadLocal<Long> s = new ThreadLocal<>();

    @Before("@annotation(systemLog)")
    public void addTime(SystemLog systemLog) {
        this.s.set(System.currentTimeMillis());
    }

    @After("@annotation(systemLog)")
    public void Log(SystemLog systemLog){
    	System.out.println(System.currentTimeMillis() - this.s.get())
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章