Использование потоков (Thread)
Модераторы: Duncon, Hawk, Romeo, Eugie
Как создать, поток, ожидающий какое либо событие и не загружающий сильно проц. Т.е как грамотно сделать замкнутый алгоритм в потоке. Заранее спасибо. Новичок TCoder
Использовать объект синхронизации потоков (например Event, Job или Mutex) и функцию WaitForSingleObject()
Мне это нужно организовать на уровне API. Язык C++. Не подскажешь более подробно, в чем суть этих объектов. Как их организовать. Или хотя бы ссылочку...WinMain писал(а):Использовать объект синхронизации потоков (например Event, Job или Mutex) и функцию WaitForSingleObject()
Заранее спасибо.
MSDN тебе поможет
создаешь событие -
HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, NULL); // например
Затем ждешь его наступления -
WaitForSingleObject( hEvent, INFINITE);
Из другого потока можешь выставить его SetEvent( hEvent );
параметры и что они означают посмотри в MSDN
создаешь событие -
HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, NULL); // например
Затем ждешь его наступления -
WaitForSingleObject( hEvent, INFINITE);
Из другого потока можешь выставить его SetEvent( hEvent );
параметры и что они означают посмотри в MSDN
Благодарю, теперь более четко. Огромное спасибо.
В MFC имеются специальные функции и классы для работы с потоками:
CEvent, CMutex, CCriticalSection и др.
AfxBeginThread() запускает поток.
CEvent, CMutex, CCriticalSection и др.
AfxBeginThread() запускает поток.