Встречается на собеседованиях • сегодня

Как безопасно использовать StringBuilder в многопоточной среде

Для безопасного использования StringBuilder в многопоточной среде, нужно заменить его на StringBuffer, который является потокобезопасным аналогом. StringBuffer имеет синхронизированные методы, что делает его безопасным для использования в многопоточных сценариях.

Пример:

java
StringBuffer buffer = new StringBuffer();
buffer.append("Thread-safe ");
buffer.append("string building");

Если же требуется использовать именно StringBuilder, можно обернуть его вызовы в синхронизированные блоки:

java
StringBuilder builder = new StringBuilder();
synchronized(builder) {
    builder.append("Synchronized ");
    builder.append("usage");
}

Однако StringBuffer предпочтительнее, так как он обеспечивает встроенную синхронизацию.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы