黑莓版的SimpleDateFormat,net.rim.device.api.i18n.SimpleDateFormat線程安全嗎?我知道java.text.SimpleDateFormat不是,但沒有提及如果net.rim.device.api.i18n.SimpleDateFormat是線程安全的或不。如果我們假設它沒有被聲明,那麼它不是線程安全的?Blackberry的SimpleDateFormat線程安全嗎?
1
A
回答
1
API沒有提及。
它建議使用DateFormat.html#getInstance(int)這是某種工廠方法。
所以你可以做的是從不同的線程調用這個方法多次使用相同的參數,看看它是否總是返回相同的對象(與==比較)。如果是,則DateFormat可能會緩存返回的SimpleDateFormat實例。所以,因爲他們的API允許重用,你可能會認爲它是線程安全的。
2
除非一類的Javadoc明確指出,它是線程安全的,你應該假設它不是。即使你可以看看源代碼和類似乎是線程安全的,也可能是是非線程在未來的版本...
爲DateFormat.getInstance(int)
的Javadoc說:
返回:新
SimpleDateFormat
提供樣式的實例。
所以,如果你使用這種方法,你是保證拿到類的新實例。假設您不在線程之間共享它,線程安全不應該成爲問題。
相關問題
- 1. 證明SimpleDateFormat不是線程安全的
- 2. java線程安全:線程安全嗎?
- 3. Java MessageFormat類線程安全嗎? (而不是SimpleDateFormat)
- 4. 休眠和線程安全:注入的SessionFactory線程安全嗎?
- 5. Spring mongoTemplate線程安全嗎?
- 6. Lparallel.queue線程安全嗎?
- 7. BoxClient線程安全嗎?
- 8. EventHubClient.SendBatchAsync - 線程安全嗎?
- 9. .NET:JsonMediaTypeFormatter線程安全嗎?
- 10. multiset equal_range線程安全嗎?
- 11. pip線程安全嗎?
- 12. com.google.cloud.datastore.Datastore線程安全嗎?
- 13. WNetGetResourceInformation線程安全嗎?
- 14. qsort線程安全嗎?
- 15. work_queue線程安全嗎?
- 16. .NET DateTime線程安全嗎
- 17. DynamoDBContext線程安全嗎?
- 18. 在Python線程安全嗎?
- 19. java.lang.reflect.Method線程安全嗎?
- 20. HttpContext.Current.Cache線程安全嗎?
- 21. UIFont線程安全嗎?
- 22. C#+ =線程安全嗎?
- 23. Go bytes.Buffer線程安全嗎?
- 24. SynchronizationContext.Post()線程安全嗎?
- 25. Guava Table線程安全嗎?
- 26. EPiServer線程安全嗎?
- 27. 是java.sql.Connection線程安全嗎?
- 28. 是CreateChildContainer()線程安全嗎?
- 29. 是Thread.getStackTrace()線程安全嗎?
- 30. Windows'rand_s線程安全嗎?
有趣的是,現在我腦海中出現了一個普遍的問題,即如何測試線程安全的API? – Vivart 2010-07-30 10:48:23
也許這就是你的下一個SO問題:)一般來說,你可以檢查源代碼(如果提供的話)或編寫一個JUnit測試,這將測試數百萬次來自10-20個線程的調用API並測試數據損壞或拋出的異常。雖然不是100%確定的答案。 – cherouvim 2010-07-30 11:47:48