Politician ivanov = new Politician("Иванов");
ivanov.join();
Politician petrov = new Politician("Петров");
Politician sidorov = new Politician("Сидоров");
Иванов сказал речь 200 раз Петров сказал речь 2 раз Сидоров сказал речь 2 раз Каким образом петров и сидоров сказали по 2 раза? Чисто технически, даже если нить "Иванов" начала выполнятся, следующая строка метода main в любом случае ivanov.join(); и пока не завершится тред Иванова, объекты Петров и Сидоров вообще не должны быть созданы, не говоря о запуске 2- тредов. я могу предположить, откуда возникают результаты если:
Politician ivanov = new Politician("Иванов");
Politician petrov = new Politician("Петров");
Politician sidorov = new Politician("Сидоров");
ivanov.join();
или
while (ivanov.getSpeechCount() + petrov.getSpeechCount() + sidorov.getSpeechCount() < totalSpeechCount) {
ivanov.join();
        }
но в первом случае, не понимаю как сформулировать запрос в гугл.