Re: Путаюсь разобратся в примере EventWaitHandle
От: _FRED_ Черногория
Дата: 20.09.10 09:04
Оценка:
Здравствуйте, Hamlet, Вы писали:

H>Пытаясь разобраться с этим примером.

H>Насколько я понимаю, при каждом вызове ewh.WaitOne(); из конкретного потока класс EventWaitHandle создает внутри себя синхронизирующую структуру для данного потока.

Откуда такие сведения И какое отношения они имеют к дальнейшему

H>А по какому принципу класс EventWaitHandle выбирает поток для освобождения при получении сигнала,


EventWaitHandle ничего не выбирает. Выбирает механизм, который называется "планировщик".

H>и как можно это контролировать(выбор освобождающего потока)?


Если события ждут несколько потоков, то, по большому счёту, никак. Если это необходимо, то каждый поток должен ждать на своём событии. Когда рабочему потоку необходимо передать управление кому-то другому, отыскивается нужное, соответствующее требуемому потоку, событие и освобождается.

Для просведления можно почитать
Автор(ы): Джеффри Рихтер
Это издание — практически новая книга, посвещенная программированию серьезных приложений на Microsoft Visual C++ в операционных системах Windows 2000 (32- и 64-разрядных версиях) и Windows 98 с использованием функций Windows API. Состоит из 27 глав, двух приложений и предметного указателя. Гораздо глубже, чем в предыдущих изданиях рассматриваются такие темы, как взаимодействие с операционной системой библиотеки C/C++, программирование DLL и оптимизация кода, описываются новые механизмы и функции, появившиеся в Windows 2000, и приводится информация, специфическая для 64-разрядной Windows 2000. В этом издании автор, перейдя с языка C на C++, переработал все программы-примеры и представил ряд новых приложений, например ProcessInfo и LISWatch. Также появились совершенно новые материалы: выравнивание данных, привязка потоков к процессорам, кэш-линии процессоров, архитектура NUMA, перехват API-вызовов и др. Книга предназначена профессиональным программистам, владеющим языком C/C++ и имеющим опыт разработки Windows-приложений. Прилагаемый компакт-диск содержит все программы из книги (исходный код и исполняемые файлы для процессоров x86, IA-64 и Alpha).
.
Help will always be given at Hogwarts to those who ask for it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.