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