Функция потока и возвращаемое значение

Тема в разделе "Общие вопросы по С и С++", создана пользователем shisik, 16 май 2008.

  1. shisik

    shisik Well-Known Member

    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    При создании потока прототип его функии выглядит следующим образом: DWORD __stdcall ThreadProc(PVOID pvParam), т.е. функция возвращает целое беззнаковое число. Отсюда у меня вопрос: куда она его возвращает? Ведь при вызове CreateThread остановки вызывающей функции не проиходит и она может завершиться раньше, чем завершится созданный поток (а значит и чем он вернёт код завершения). Каким образом можно проверить, с каким кодом завершился поток?
     
  2. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Что-то вопрос не очень понятен. Возвращаемое функцией потока значение = код завершения потока.
    GetExitCodeProcess
     
  3. shisik

    shisik Well-Known Member

    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    Я имел ввиду, что возвращаемое значение функции можно получить так:
    Код (Text):
    result = SomeFunc();
    Но с функцией потока так не получится.
    Я понимаю, что это код завершения потока. Поэтому и спросил, как его получить.
    Получается в первом параметре надо передать HANDLE потока? Чтож, попробую. Спасибо за помощь :)
     
  4. Yason

    Yason Гость

     
  5. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Не получится, т.к. возвращаемое функцией потока значение не предназначено для прямого получения. Недавно цитированный тобой Рихтер все это объясняет. Да и MSDN в описании ThreadProc говорит:
     
Загрузка...

Поделиться этой страницей