вызывается рандомный поток? Я скомпилил несколько раз и у мены каждый раз вызывались разные потоки "наобум"
https://godbolt.org/z/4c11jP3Kz
А как должно быть иначе?
Ты их запускаешь, они начинают выполняться; и как получается, какому потоку повезет — тот первый сообщение напечатает.
хз, t3->t1->t2, не совсем понял
С чего вдруг?
а начнем с того, что собственно join делает? я всегда думал, что по очереди присоединяешь и в таком же порядки потоки и выполняются
Ты ожидаешь завершения их выполнения в таком порядке, а запускаются они тогда, когда ты создаешь объекты std::thread
join делает ровно то, что написано в документации: ждёт завершения работы потока. Ни единого слова про порядок)
затупил, понял)спасибо
Даже так: запускаются они не синхронно, поэтому t2->t1->t3 также возможно
Обсуждают сегодня