如何使java.util.Date成为线程安全的

据我所知,这java.util.Date是可变的,因此,如果多个线程试图访问和修改它,则不是线程安全的。我们如何使用客户端锁定或组合(包装器)使其成为线程安全的?

回答:

按照从好到坏的顺序:

  1. 根本不使用它,请查看Java 8的新Date and Time API。

  2. 完全不使用它,请查看jodatime

  3. 在所有的,使用不使用AtomicLong或一成不变的原始longvolatile代表 纪元时间

  4. 封装它。始终返回的防御性副本Date,从不引用内部对象

  5. Date实例上同步。

以上是 如何使java.util.Date成为线程安全的 的全部内容, 来源链接: utcz.com/qa/424582.html

回到顶部