Я не знаю, откуда у вас мысль, что thread::join
запускает скрипт;это не так.Что он на самом деле делает, так это отправляет сообщение (уровень C API) другому потоку, чтобы попросить его завершить корректно, а затем ожидает фактического завершения потока;команда thread::wait
знает, как правильно обрабатывать такие сообщения, но в большинстве случаев это просто «запустить цикл обработки событий и следить за тем, чтобы поступило сообщение о завершении» (именно поэтому эта команда должна всегда использоваться как последняя).сценария тела потока, если предполагается, что он реагирует на события).
Фактическая возможность соединения заключается в обработке сообщения reverse , сигнализирующего, что поток действительно завершен.