[英]Calendar.getInstance thread safety
如果我有以下方法; 是對Calendar.getInstance()
線程安全的調用嗎?
public Date currentTime() {
Date d = null;
synchronized(this){
d = Calendar.getInstance().getTime();
}
return d;
}
我的理解是Calendar.getInstance()
不是線程安全的,所以下面的方法不能是線程安全的。 這是正確的嗎?
public Date currentTime() {
return Calendar.getInstance().getTime();
}
我知道Joda-Time被提升為日期時間API的最佳實踐,但在這里我堅持使用標准的java.util.Date/Calendar類。
是的, Calendar.getInstance()
是線程安全的,因為每次調用都會創建並返回一個新實例。 通過同步或將getTime()
返回的值存儲在臨時變量中,您無法獲得任何東西。
在這種情況下,為什么你的意思是線程安全? 您沒有修改任何變量,時間由系統管理。 因此,對該方法的任何調用都將為您提供系統的當前時間。 不需要在我看來同步它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.