Проблема безопасности потоков с SimpleDateFormat
Я получил следующий кусок кода из теста программистов
private String formatDate(Date date)
{
String result = "";
//….
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
result = sdf.format(date);
//…
return result;
}
с дополнительной информацией о том, что несколько потоков используют метод одновременно. Есть ли проблемы с этим?
Мой ответ таков: нет, все должно быть хорошо (при условии, что в деталях // ... больше ничего не происходит).
Моя мотивация заключается в том, что не используются глобальные или классовые структуры данных. Дата передается от каждого протектора в качестве параметра, и внутри метода используются только локальные переменные и локальные объекты. Таким образом, каждый поток получит и использует егоСобственный экземпляр объекта класса SimpleDateFormat.
Однако это не былоправильный" ответ в тесте. "правильный" Ответ заключается в том, что класс SimpleDateFormat не являетсяПотокобезопасен, и поэтому доступ к этому объекту должен быть синхронизирован.
Итак, я или решение правильное?