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

Как многопоточность влияет на иммутабельные объекты

Иммутабельные объекты потокобезопасны по своей природе, так как их состояние нельзя изменить после создания. В многопоточной среде это означает, что:

  1. Не нужна синхронизация при доступе к объекту
  2. Нет риска состояний гонки (race conditions)
  3. Можно безопасно передавать объект между потоками

Пример:

java
public final class ImmutablePerson {
    private final String name;
    private final int age;

    public ImmutablePerson(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Только геттеры, нет сеттеров
    public String getName() { return name; }
    public int getAge() { return age; }
}

Такой объект можно использовать в любом количестве потоков без дополнительных мер защиты. Однако важно, чтобы все поля были:

  • final
  • примитивами или другими иммутабельными объектами
  • не было утечки ссылки в конструкторе
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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