Страница 1 из 1

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

Добавлено: 09 авг 2007, 02:57
TCoder
Как создать, поток, ожидающий какое либо событие и не загружающий сильно проц. Т.е как грамотно сделать замкнутый алгоритм в потоке. Заранее спасибо. Новичок TCoder

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

Добавлено: 09 авг 2007, 10:34
WinMain
Использовать объект синхронизации потоков (например Event, Job или Mutex) и функцию WaitForSingleObject()

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

Добавлено: 09 авг 2007, 12:21
TCoder
WinMain писал(а):Использовать объект синхронизации потоков (например Event, Job или Mutex) и функцию WaitForSingleObject()
Мне это нужно организовать на уровне API. Язык C++. Не подскажешь более подробно, в чем суть этих объектов. Как их организовать. Или хотя бы ссылочку...
Заранее спасибо.

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

Добавлено: 09 авг 2007, 12:34
Hawk
MSDN тебе поможет
создаешь событие -
HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, NULL); // например
Затем ждешь его наступления -
WaitForSingleObject( hEvent, INFINITE);
Из другого потока можешь выставить его SetEvent( hEvent );
параметры и что они означают посмотри в MSDN

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

Добавлено: 09 авг 2007, 12:37
TCoder
Благодарю, теперь более четко. Огромное спасибо.

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

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