Я использую java.text.NumberFormat просто для преобразования чисел в более читаемые строки, с запятыми, разделяющими тысячи и т.д. В основном я определяю его как:
public static NumberFormat nf = NumberFormat.getInstance(Locale.US);
... и затем я просто вызываю nf.format(some_number) в любом потоке, где я хочу сделать читаемую версию числа. Но, глядя на JavaDoc, он говорит: "Числовые форматы обычно не синхронизированы. Рекомендуется создавать отдельные экземпляры формата для каждого потока. Если несколько потоков обращаются к формату одновременно, его необходимо синхронизировать извне".
Если я использую только метод format (number) объекта NumberFormat, может ли быть проблема синхронизации? Я попытался использовать NumberFormat.getInstance(Locale.US).format(number) вместо этого, но есть накладные расходы, связанные с этим, каждый раз, когда я чувствую, вероятно, не нужен. Действительно ли нужна внешняя синхронизация? Или есть более простой и эффективный способ выполнить одно и то же без NumFormat?
Спасибо!