Подтвердить что ты не робот

Почему я вижу несколько "Поток 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).
4b9b3361

Ответ 1

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

Примечание

Эта функция немедленно возвращается. Если указанный поток не завершено, и функция завершается успешно, возвращенный статус STILL_ACTIVE. Если поток завершен и функция выполнена успешно, возвращаемый статус является одним из следующих значений: Значение выхода указанных в функции ExitThread или TerminateThread. Возврат значение из функции потока. Значение выхода потока обработать. Важно. Функция GetExitCodeThread возвращает действительную код ошибки, определенный приложением только после потока завершается. Поэтому приложение не должно использовать STILL_ACTIVE (259) в качестве кода ошибки. Если поток возвращает STILL_ACTIVE (259) как код ошибки, приложения, которые проверяют это значение, могут его интерпретировать означает, что поток все еще работает и продолжает тестировать завершение потока после прекращения нити, что могло бы поместите приложение в бесконечный цикл.

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

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

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