Критические секции
З.Ы. Хотелось бы увидеть пример:)
З.Ы.Ы. или хотя бы киньте линки на статьи.
Об'ясните, плз, как юзать критические секции. В методичке к лабам написано лишь определение КС и функции их вызова/удаления, в И-нете кроме этого тоже не нашёл.
З.Ы. Хотелось бы увидеть пример:)
З.Ы.Ы. или хотя бы киньте линки на статьи.
Все очень просто. Критические секции нужны, чтобы разделять общие ресурсы внутри одного процесса. Например, есть сокет (структура, файл,..), в который потоки могут писать и читать только по очереди.
Создать критическую секцию:
InitializeCriticalSection(pSC)
pCS- указатель на критическую секцию. Делается до начала работы с крит.секцией ОДИН РАЗ.
Дать понять другим, что я сейчас заберу в пользование общий ресурс:
EnterCriticalSection(pCS);
//работаем с ресурсом, все остальные потоки, желающие войти в крит.секцию, ждут.
LeaveCriticalSection(pCS);//Освободили крит.секцию, могут пользовать другие.
Убить секцию:
DeleteCriticalSection(pCS);-После этого нельзя использовать EnterCriticalSection(pCS) и LeaveCriticalSection(pCS)
Подробности смотри у Рихтера
http://www.proglib.ru/detail_book.asp?id=190