从javadocs开始明确指出
ISODateTimeFormat是线程安全且不可变的,它返回的格式化程序也是如此。
但是,如果预期实例在重度并发下表现良好,则尚不清楚。是否存在任何同步点或锁争用点?如果我希望有数百(或数千)个线程执行DateTime解析和格式化,那么为每个线程提供自己的DateTimeFormatter实例是否更好?或者我可以通过在所有线程之间共享相同的实例来获得相同的性能(使用保存一点记忆的额外好处?)
答案 0 :(得分:0)
快速扫描Joda代码库表明,使用相同DateTimeFormatter
的多个线程不应该有任何问题,因为其中没有同步的方法。 Joda中的同步主要位于创建者的缓存访问方法中。当然,虽然如果你有一个具有足够内核的服务器来测试这么多线程的情况,那么组合一个基准来确认它应该是微不足道的。