Ответ 1
На самом деле, похоже, не слишком много объяснений по этому вопросу, но коды выхода должны использоваться для указания того, как поток вышел, 0
имеет тенденцию означать, что он вышел безопасно, в то время как все иначе имеет тенденцию означать, что он не выходил, как ожидалось. Но тогда этот код выхода может быть установлен в коде самостоятельно, чтобы полностью игнорировать это.
Ближайшая ссылка, которую я нашел полезной для получения дополнительной информации, this
Цитата из ссылки выше:
Как бы то ни было, метод выхода, целое число, возвращаемое из вашего процесса или потока, должно быть значением от 0-255 (8 бит). Нулевое значение указывает на успех, в то время как ненулевое значение указывает на сбой. Хотя вы можете попытаться вернуть любое целочисленное значение в качестве кода выхода, из вашего процесса или потока возвращается только младший байт целого числа как часть кода выхода. Базы более высокого порядка используются операционной системой для передачи специальной информации о процессе. Код выхода очень полезен в программах пакетной/командной строки, которые условно выполняют другие программы в зависимости от успеха или отказа одного.
Из документации для GetEXitCodeThread
Важно. Функция GetExitCodeThread возвращает допустимый код ошибки, определенный приложением только после завершения потока. Поэтому приложение не должно использовать STILL_ACTIVE (259) в качестве кода ошибки. Если поток возвращает STILL_ACTIVE (259) как код ошибки, приложения, проверяющие это значение, могут интерпретировать его как означающее, что поток все еще работает и продолжает проверять завершение потока после потока завершено, что может привести приложение в бесконечный цикл.
Мое понимание всего этого заключается в том, что код выхода не имеет большого значения, если вы используете потоки в своем приложении для своего приложения. Исключение из этого возможно, если вы используете пару потоков одновременно, которые имеют зависимость друг от друга. Если для внешнего источника требуется требование прочитать этот код ошибки, вы можете настроить его, чтобы другие приложения знали статус вашего потока.