Использование потоков (Thread)

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Hawk, Romeo, Eugie

Ответить
TCoder
Сообщения: 9
Зарегистрирован: 16 июл 2007, 00:20
Контактная информация:

Как создать, поток, ожидающий какое либо событие и не загружающий сильно проц. Т.е как грамотно сделать замкнутый алгоритм в потоке. Заранее спасибо. Новичок TCoder
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Использовать объект синхронизации потоков (например Event, Job или Mutex) и функцию WaitForSingleObject()
TCoder
Сообщения: 9
Зарегистрирован: 16 июл 2007, 00:20
Контактная информация:

WinMain писал(а):Использовать объект синхронизации потоков (например Event, Job или Mutex) и функцию WaitForSingleObject()
Мне это нужно организовать на уровне API. Язык C++. Не подскажешь более подробно, в чем суть этих объектов. Как их организовать. Или хотя бы ссылочку...
Заранее спасибо.
Hawk
Сообщения: 216
Зарегистрирован: 17 фев 2004, 14:52
Откуда: СПб
Контактная информация:

MSDN тебе поможет
создаешь событие -
HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, NULL); // например
Затем ждешь его наступления -
WaitForSingleObject( hEvent, INFINITE);
Из другого потока можешь выставить его SetEvent( hEvent );
параметры и что они означают посмотри в MSDN
TCoder
Сообщения: 9
Зарегистрирован: 16 июл 2007, 00:20
Контактная информация:

Благодарю, теперь более четко. Огромное спасибо.
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

В MFC имеются специальные функции и классы для работы с потоками:
CEvent, CMutex, CCriticalSection и др.
AfxBeginThread() запускает поток.
Ответить