Android应用中的线程安全性?

时间:2014-03-26 19:45:52

标签: android thread-safety

我正在编写一个Nexus 7应用程序并继承了一个骨架应用程序。来自其他开发者。我对它运行了一个findbugs分析,findbugs警告说SimpleDateFormat的静态实例:

正如JavaDoc所述,DateFormats对于多线程使用本质上是不安全的。检测器找到了一个通过静态字段获得的DateFormat实例的调用。这看起来很可疑。

我的应用中没有任何明确的线程创建或后台操作。因此,我是否需要考虑上述警告,还是可以忽略?我不确定在Android应用程序中实际运行的线程(除了UI服务线程)。

dateformat对象在构造函数中设置如下:

  

private static final SimpleDateFormat shortCsvDateFormat = new   SimpleDateFormat(" EEE MMM d yyyy");

1 个答案:

答案 0 :(得分:1)

对不起,'不是'迷路了。

这不应该是个问题。

但是,当然,这是一个可能但不太可能的错误来源。如果您查看SimpleDateFormat的文档,您会发现有两种方法可以应用新模式。

因此,一个线程可能会更改模式,而另一个线程则使用旧模式。但考虑到变量的名称,这看起来很不可能。 (我假设CSV模式在运行时没有改变。)

如果最终变量封装在CSVWriter类中,则可能性更小。