#201 Печать print из нескольких потоков

Компании:
Сбербанк
Темы:
JavaМногопоточностьКод ревью

Сколько раз будет напечатано слово print?

class AtomicPrinter implements Runnable {
    private final AtomicBoolean printMe = new AtomicBoolean(true);

    @Override
    public void run() {
        if (printMe.get()) {
            System.out.println("print");
            printMe.set(false);
        }
    }
}

public class AtomicPrinterTest {
    public static void main(String[] args) {
        var printer = new AtomicPrinter();
        var printers = new ArrayList<Thread>();

        for (int i = 0; i < 100; i++) {
            printers.add(new Thread(printer));
        }

        // Сколько раз будет напечатано слово print?
        for (int i = 0; i < 100; i++) {
            printers.get(i).start();
        }
    }
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти