在多线程环境下,SimpleDateFormat 是线程安全的吗?
Is SimpleDateFormat thread-safe in a multithreaded environment?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: SimpleDateFormat, thread safety, ThreadLocal, joda-time
参考答案摘要
答案 不是,非常不幸,DateFormat 的所有实现,包括 SimpleDateFormat 都不是线程安全的,因此你不应该在多线程序中使用,除非是在对外线程安全的环境中使用,如 将 SimpleDateFormat 限制在 ThreadLocal 中。如果你不这么做,在解析或者格式化日期的时候,可能会获取到一个不正确的结果。因此,从日期、时间处理的所有实践来说,我强力推荐 joda-time ...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。