Завдання роблю, але не зовсім розумію, що відбувається.
Наприклад, в задачі "Horse Racing" додав в метод run() першою команду виведення в консоль повідомлення, що кінь стартував, і спостерігаю повідомлення про старт коней в довільному порядку (4-й, 10-й, 6-й, 7-й, ... 2-й).
Але ж ці коні ніби то запускаються строго по черзі - в циклі for вибираються елементи списку за індексами від 0-го до останнього і до кожного застосовується метод start().
При цьому ще й часто першим отримую повідомлення, що 1-й кінь чекає, а тільки після цього повідомлення про старти. Але ж спочатку здається відбувається старт, а тільки потім перевірка хто фінішував.
Наскільки я зрозуміла, коні( потоки) створюються по черзі, але працює кожен потік коли вирішить ОС і працює декілька потоків одночасно, поки інші чекають. Перевірка, чи всі фінішували знаходиться в мейні і проходить починаючи з першого коня. Це дає додатковий різнобій.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ