Строковый буфер можно безопасно использовать в многопоточных приложениях, поскольку он не создает несоответствия данных в случае многопоточной среды.
Примеры: когда у меня есть построитель строк с начальным значением «Java» и если thread1 пытается добавить «is» в построитель строк, thread2 пытается добавить «поддерживаемый», есть вероятность, что строитель строк может стать либо «Java is», либо «Java поддерживает», либо «Java поддерживается», вызывая несоответствия данных.
В случае строкового буфера, если thread1 пытается добавить «is», thread2 будет ждать, так что он может стать только «Java поддерживается»