Я предполагаю, что вы говорите о путанице, а не о вещах не по порядку. Вы не можете ожидать параллельной печати в любом порядке. Это просто природа параллельной работы.
Если вы имеете в виду линию, которая идет hello from threadhello from thread 1
и странный v 0
, то вы, вероятно, имеете дело с гонкой данных . Любая переменная вне рабочей области по умолчанию является общей. Вы явно не объявили id как частный или общий, поэтому он автоматически распределяется между потоками. Вы можете одновременно получать доступ и записывать значение id между потоками. В любое время, когда у вас есть гонка данных, поведение не определено, поэтому вы можете увидеть все виды странных вещей. Чтобы исправить это, вам нужно будет указать его как приватное или просто объявить идентификатор в for l oop.