Чтобы дождаться завершения выполнения потока, прежде чем двигаться дальше, вы можете использовать метод join()
: docs
Специально для вашей проблемы вы можете поставить thread1.join()
,сразу после звонка thread1.start()
.Вызов соединения блокирует вызывающий поток до тех пор, пока thread1
не завершит его выполнение, так что thread2
будет инициализирован и выполнен после завершения thread1
.
В качестве альтернативы, вы также можете вызвать thread1.join()
в начале run()
метода thread2
, так что основной поток не нужно будет блокировать вызовом join()
.