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

Как бы решил fast-fail в многопоточности

Fast-fail в многопоточности можно реализовать через ConcurrentModificationException или атомарные проверки. Например, используя volatile флаг или AtomicBoolean:

java
private volatile boolean failed = false;

public void process() {
    if (failed) {
        throw new RuntimeException("Fast-fail triggered");
    }
    // Логика
}

public void failFast() {
failed = true;
}

text

Или с `AtomicBoolean`:
```java
private AtomicBoolean failed = new AtomicBoolean(false);

public void process() {
    if (failed.get()) {
        throw new RuntimeException("Fast-fail triggered");
    }
    // Логика
}

public void failFast() {
    failed.set(true);
}

Также можно использовать Thread.interrupt() для прерывания потоков. Важно обеспечить видимость изменений между потоками (через volatile, атомарные классы или синхронизацию).

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

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

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

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