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