SimpleDateFormat的BlackBerry版本,net.rim.device.api.i18n.SimpleDateFormat线程安全吗?我知道java.text.SimpleDateFormat不是,但没有提及net.rim.device.api.i18n.SimpleDateFormat是否是线程安全的。如果没有说明那么我们应该假设它不是线程安全的吗?
答案 0 :(得分:2)
除非类的javadoc明确声明它是线程安全的,否则你应该假设它不是。即使您可以查看源代码并且该类看起来是线程安全的,但在下一个版本中它可能是非线程安全的......
DateFormat.getInstance(int)
的javadoc说:
返回:具有提供样式的新
SimpleDateFormat
实例。
因此,如果您使用此方法,则保证可以获得该类的新实例。如果您不在线程之间共享它,则线程安全不应该是一个问题。
答案 1 :(得分:1)
API未提及。
它建议使用DateFormat.html#getInstance(int)这是某种工厂方法。
所以你可以做的是从具有相同参数的不同线程多次调用此方法,并查看它是否总是返回相同的对象(与==比较)。如果是,则DateFormat可能会缓存返回的SimpleDateFormat实例。因此,由于它们的API允许重用,您可以认为它是线程安全的。