Почему я вижу несколько " поток 0x22c8 вышел с кодом 259 (0x103)." сообщения


Я получаю множество этих сообщений в моем приложении Winforms, хотя я никогда явно не делал никаких потоков. Почему это происходит? Я огляделся вокруг в поисках объяснения, но трудно сформулировать такой запрос.

Я использую Visual Studios 2013, и это отладочный вывод, который меня беспокоит:

The thread 0x23a4 has exited with code 259 (0x103).
The thread 0x2884 has exited with code 259 (0x103).
The thread 0x27ec has exited with code 259 (0x103).
The thread 0x1978 has exited with code 259 (0x103).
The thread 0x1534 has exited with code 259 (0x103).
The thread 0x1ad8 has exited with code 259 (0x103).
The thread 0x2938 has exited with code 259 (0x103).
The thread 0x22c8 has exited with code 259 (0x103).
1 59

1 ответ:

из документации MSDN:

Примечания

эта функция немедленно возвращается. Если указанный поток не завершается и функция завершается успешно, возвращается статус ЕЩЕ АКТИВНЫЙ. Если поток завершен и функция выполнена успешно, статус возвращается одно из следующих значений: значение выхода указывается в функции ExitThread или TerminateThread. Возвращение значение из функции потока. Выходное значение потока процесс. Важно! функция GetExitCodeThread возвращает допустимое значение код ошибки, определенный приложением только после потока прекращает. Поэтому приложение не должно использовать STILL_ACTIVE (259) как код ошибки. Если поток возвращает STILL_ACTIVE (259) как код ошибки, приложения, которые проверяют это значение, могут интерпретировать его чтобы означать, что поток все еще работает и продолжает тестировать завершение потока после завершения потока, которое могло бы Поставить применение в бесконечный цикл.

Так что в основном он все еще проверяет текущий поток время от времени.

кажется, это ошибка:

http://connect.microsoft.com/VisualStudio/feedback/details/812144/vs2013-reports-incorrect-thread-exit-code