Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Критические секции

9.5K
30 мая 2005 года
gmJay
11 / / 22.05.2005
Об'ясните, плз, как юзать критические секции. В методичке к лабам написано лишь определение КС и функции их вызова/удаления, в И-нете кроме этого тоже не нашёл.
З.Ы. Хотелось бы увидеть пример:)
З.Ы.Ы. или хотя бы киньте линки на статьи.
3.3K
31 мая 2005 года
GENA_DJ
123 / / 08.03.2005
Цитата:
Originally posted by gmJay
Об'ясните, плз, как юзать критические секции. В методичке к лабам написано лишь определение КС и функции их вызова/удаления, в И-нете кроме этого тоже не нашёл.
З.Ы. Хотелось бы увидеть пример:)
З.Ы.Ы. или хотя бы киньте линки на статьи.


Все очень просто. Критические секции нужны, чтобы разделять общие ресурсы внутри одного процесса. Например, есть сокет (структура, файл,..), в который потоки могут писать и читать только по очереди.

Создать критическую секцию:
InitializeCriticalSection(pSC)
pCS- указатель на критическую секцию. Делается до начала работы с крит.секцией ОДИН РАЗ.

Дать понять другим, что я сейчас заберу в пользование общий ресурс:
EnterCriticalSection(pCS);
//работаем с ресурсом, все остальные потоки, желающие войти в крит.секцию, ждут.
LeaveCriticalSection(pCS);//Освободили крит.секцию, могут пользовать другие.

Убить секцию:
DeleteCriticalSection(pCS);-После этого нельзя использовать EnterCriticalSection(pCS) и LeaveCriticalSection(pCS)

Подробности смотри у Рихтера
http://www.proglib.ru/detail_book.asp?id=190

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог