2013-09-30 21 views
-3

我已經在我的應用程序中提到了behviuore。它是多線程應用程序,線程訪問共享的concurrentlinkedqueue對象。有時系統加載時,系統在下面的部分中速度較慢,有時在兩行日誌之間需要超過120毫秒。 任何解釋可能有助於java與concurrentlinkedqueue相關的性能

class A { 
    method aA(){ 

// log line here 
system.out.println("current time1" +system.getcurrentmillisecond()) 
bb(queue); 

} 
method bb (concurrentlinkedqueue queue){ 

// logs here 
system.out.println("current time2" +system.getcurrentmillisecond()) 


} 


} 
+3

什麼是 「behviuore」 是什麼意思? – SpringLearner

+0

@javaBeginner,我認爲這是行爲:) –

+0

@Pradeep Simha:當然,只是有點* weried *。 – maaartinus

回答

1

經驗法則是,如果你是實時應用程序的工作,當你的日誌是寫你不能信任的時候,因爲你的系統可以這麼快,LOG是異步反正。

使用此:

long startTime = System.currentTimeInMillis(); 

// do your task 
long endTime = System.currentTimeInMillis(); 

Logger.info(endTime - startTime); 
+0

日誌記錄是否異步取決於實現。例如java.util.logger是同步的。 –