Форум программистов, компьютерный форум CyberForum.ru

createthread и closehandle - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 68, средняя оценка - 4.87
Практолок
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 12
12.04.2009, 09:00     createthread и closehandle #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void func()
{
 while(1)
 {
   printf("hello world"); //:-D
 }
}
 
void main()
{
 DWORD ThreadId;
 HANDLE hThread = CreateThread(NULL, 0, func, 0, 0, &ThreadId);
 CoseHandle(hThread);
}
Или чтото ну очень примерно в этом духе. Потскажите, CloseHandle поток убивает, и функция func будет мертворожденная? Или я чтото не понимаю...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2009, 09:00     createthread и closehandle
Посмотрите здесь:

Visual C++ CreateThread
C++/CLI CreateThread
Visual C++ CreateThread
C++ CreateThread или beginthreadex
Delphi CreateThread
C++ Использование CreateThread
C++/CLI CreateThread в WindowsForms
C++ Struct в CreateThread
Как реализовать функцию CloseHandle()?
WinApi CreateThread C# .NET 4.x
Вернуть значение функции, запущенной через CreateThread C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2219 / 734 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
12.04.2009, 11:23     createthread и closehandle #2
Закрытие хэндла вообще не убьет поток.Потоки убиваются так:

1. Функция потока возвращает управление
2. Поток самоуничтожается с помощью ExitThread
3. Кто-либо вызывает TerminateThread
4. Завершается процесс,содержащий поток.

Также интересно,что ты понимаешь под мертворожденной функцией?..
Практолок
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 12
12.04.2009, 12:10  [ТС]     createthread и closehandle #3
Ну то что поток сразу убьеца и она вообще ничиво ниуспеет сделать. А зачем вообще этот хендл в таком случае нужен, если он сразу закрывается после создания потока, приведу пожалуй реальный пример (не мой код):
C++
1
2
3
4
5
6
7
8
        hThread = CreateThread(NULL, 0, ClientThread, 
            (LPVOID)sClient, 0, &dwThreadId);
        if (hThread == NULL)
        {
            MessageBox(0, "Create thread filed", "Error", 0);
            break;
        }
        CloseHandle(hThread);
ниужели только ради того чтобы проверить создался поток или нет?
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2219 / 734 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
12.04.2009, 12:18     createthread и closehandle #4
Я еще раз повторю,что закрытие хэндла НЕ убивает поток.
Практолок
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 12
12.04.2009, 12:36  [ТС]     createthread и closehandle #5
Да я понял, я просто разьяснил что я понимаю под "мертворожденной функцией". Спасибо большое за разьяснение
Yandex
Объявления
12.04.2009, 12:36     createthread и closehandle
Ответ Создать тему
Опции темы

Текущее время: 00:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru