Мало того, что синхронизация не требуется в большинстве случаев, она фактически дает читателям вашего кода неверную информацию, если вы все же используете ее: а именно, читатель может быть уверен, что синхронизация необходима там, где ее на самом деле нет.
Вместо этого StringBuilder
объявляет тот факт, что вы не ожидаете многопоточного доступа.
Фактически, отправка данных между потоками почти всегда должна осуществляться через четко определенные каналы связи., а не просто путем доступа к синхронизированному строковому буферу.Таким образом, я бы рекомендовал всегда , используя другое решение, даже когда StringBuffer
кажется уместным на первый взгляд.