Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> потоки висят в состоянии "приостановлено", потоки висят в состоянии "приостановлено 
:(
    Опции темы
gutalin69
  Дата 20.5.2014, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 15.4.2014

Репутация: нет
Всего: нет



 Подскажите пожалуйста почему при запуске даже пустого потока, их функции не выполняются, а сам поток висит в состоянии Wait????
Очень срочно нужно понять....
Если запускаю вне тела функции выполняются, но отладка до них доходит в произвольном порядке, т.е выполняются сначала те функции, которые должны были выполнится ПОСЛЕ, а потом запускается SocketThread

                                DWORD  ThreadId;
                HANDLE hSocketThread=CreateThread(NULL,0,SocketThread,NULL,0,&ThreadId);
PM MAIL   Вверх
feodorv
Дата 21.5.2014, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 11
Всего: 45



Цитата(gutalin69 @  20.5.2014,  20:48 Найти цитируемый пост)
при запуске даже пустого потока

В принципе, поток должен что-то делать, ожидать каких-то событий и т.д. Пустой поток ничего не делает, он завершается в тот же момент, как запущен. Но, да, его состояние оценивается системой как живого (то есть хотя сам поток завершился, но все его структуры и описатели живы), ибо по окончании потока необходимо закрыть хендлер потока. Пока хенделер потока не закрыт, то по нему можно узнать такие вещи, как завершился ли поток, а если завершился, то с каким кодом. Вот ради этого кода (а он может понадобиться программисту) уже завершившийся поток и числится в свободном состоянии. Если же состояние потока, его ожидание или код возврата не нужны, то можно сразу после создания потока закрыть его хендлер. Тогда не должно быть никакого wait (кстати, откуда Вы взяли это самое wait) для пустого потока. Хендлер закрывается через CloseHandler(hSocketThread).


Цитата(gutalin69 @  20.5.2014,  20:48 Найти цитируемый пост)
Если запускаю вне тела функции выполняются, но отладка до них доходит в произвольном порядке, т.е выполняются сначала те функции, которые должны были выполнится ПОСЛЕ, а потом запускается SocketThread

Расшифруйте, пожалуйста.


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0435 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.