Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Потоки, запуск не производится 
V
    Опции темы
Sergio
Дата 24.4.2008, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

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



Здраствуйте хочу запустить поток. Ничего не происходит. Почему?
Код

DWORD WINAPI ClientThread(LPVOID lpParam)
{
  while(1)
  {
   ...

  }
}

HANDLE    hClientThread;
DWORD    dwClientThreadId;
hClientThread = CreateThread(NULL, 0, ClientThread, 0, 0, &dwClientThreadId);



PM MAIL ICQ   Вверх
deniska
Дата 24.4.2008, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ну первое что в голову пришло: проверь что в hClientThread, GetLastError() вызови. в цикл while я так понял не заходит?
PM MAIL ICQ   Вверх
Lazin
Дата 24.4.2008, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

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



чему равно hClientThread, после выполнения CreateThread, и вообще лучше для этого использовать beginthreadex
PM MAIL Skype GTalk   Вверх
Sergio
Дата 24.4.2008, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

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



Lazin, hClientThread не ровно нулю тоесть оно инициализовалось

Это сообщение отредактировал(а) Sergio - 24.4.2008, 18:18
PM MAIL ICQ   Вверх
Rififi
Дата 24.4.2008, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

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



deniska, 
кто тебе сказал что ничего не происходит?
попробуй перед while(1) добавить эти строчки:

char* p = NULL;
*p = 0;

тогда ты сразу узнаешь, пускается поток или нет
PM MAIL   Вверх
Lazin
Дата 24.4.2008, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

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



Цитата(Sergio @  24.4.2008,  18:18 Найти цитируемый пост)
hClientThread 

INVALID_HANDLE_VALUE?
и что говорит GetLastError?
PM MAIL Skype GTalk   Вверх
MAKCim
Дата 24.4.2008, 22:08 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



Sergio, 
после вызова CreateThread() идет завершение основного потока или ожидание завершения созданного?
если первое, то поток просто не получает управления, т. к процесс завершается

Это сообщение отредактировал(а) MAKCim - 24.4.2008, 22:08


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Sergio
Дата 24.4.2008, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

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



MAKCim, ты прав ибо:
Код

int _tmain(int argc, _TCHAR* argv[])
{
    WSADATA wsd;
    if (WSAStartup(MAKEWORD(2,2), &wsd) != 0)
    {
        printf("Can't load WinSock library\n");
        return 0;
    }

    HANDLE    hClientThread;
    DWORD    dwClientThreadId;
    hClientThread = CreateThread(NULL, 0, ClientThread, 0, 0, &dwClientThreadId);

    if (hClientThread == NULL)
        return 0;
}

Что мне делать? Это консольное приложение. "Запихнуть"  у цикл или как?

Это сообщение отредактировал(а) Sergio - 25.4.2008, 00:11
PM MAIL ICQ   Вверх
dumb
Дата 25.4.2008, 01:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

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



Цитата(Sergio @  25.4.2008,  00:52 Найти цитируемый пост)
Что мне делать?
перенести код из ClientThread в _tmain и не париться.
PM MAIL   Вверх
v1rtu0z
Дата 25.4.2008, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 21.4.2008
Где: Воронеж

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



используй WaitForSingleObject()
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

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


 




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


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

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