Как thread :: join запускает скрипт? - PullRequest
0 голосов
/ 15 мая 2019

Я вижу, где thread::create создает поток, а thread::send отправляет ему скрипт. Но thread::join не имеет аргумента сценария. thread::join представлен в руководстве как альтернатива thread::send, но я не вижу, как отправлять сценарии в поток, если он присоединяемый.

Я вижу блоки, что полезно для некоторых приложений, но я пока не вижу выражения значения в thread::join, приведите пример того, как thread::join может запускать сценарии в отдельном потоке. Или лучше объясните это значение так, как руководство не дает мне понять.

1 Ответ

0 голосов
/ 15 мая 2019

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

Фактическая возможность соединения заключается в обработке сообщения reverse , сигнализирующего, что поток действительно завершен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...