#166 Синхронизация метода при работе двух потоков

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

Что будет выведено на экран?

public class ThreadDemo {

    private int count = 1;

    public synchronized void doSomething() {
        for (int i = 0; i < 10; i++) {
            System.out.println(count++);
        }
    }

    public static void main(String[] args) {
        ThreadDemo demo = new ThreadDemo();
        Thread a1 = new A(demo);
        Thread a2 = new A(demo);
        a1.start();
        a2.start();
    }
}

class A extends Thread {
    ThreadDemo demo;

    public A(ThreadDemo td) {
        demo = td;
    }

    public void run() {
        demo.doSomething();
    }
}

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

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