Мне нужно распечатать много отформатированных десятичных значений во многих потоках параллельно.Для форматирования десятичных значений я использую java.text.DecimalFormat
, настроенный по шаблону.Мне известно о предупреждении из документа java DecimalFormat
:
Десятичные форматы, как правило, не синхронизируются.Рекомендуется создавать отдельные экземпляры формата для каждого потока.Если несколько потоков обращаются к формату одновременно, он должен быть синхронизирован извне.
Но я не знаю, относится ли это предупреждение к моему сценарию: я настраиваю java.text.DecimalFormat
один раз при запуске приложения (исохраните Formatter
в последнем поле).После этого я использую ТОЛЬКО метод format(double)
.
Причина, по которой я хочу это сделать: я не хочу терять производительность, создавая новый экземпляр DecimalFormat
каждый раз, когда мне нужно напечататьотформатированный номер.
Я посмотрел код DecimalFormat.format(double)
, и он выглядит как поточно-ориентированный, но я не уверен.
Не могли бы вы подтвердить, что использование DecimalFormat.format(double)
в конечном итоге потокобезопасен, когда не изменяется конфигурация форматера, или объясните, почему это не так?