На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

LeaveCriticalSection



The LeaveCriticalSection function releases ownership of the specified critical section object.

VOID LeaveCriticalSection(

LPCRITICAL_SECTION lpCriticalSection // address of critical section object
);


Parameters

lpCriticalSection

Points to the critical section object.



Return Values

This function does not return a value.

Remarks

The threads of a single process can use a critical-section object for mutual-exclusion synchronization. The process is responsible for allocating the memory used by a critical-section object, which it can do by declaring a variable of type CRITICAL_SECTION. Before using a critical section, some thread of the process must call the InitializeCriticalSection function to initialize the object.
A thread uses the EnterCriticalSection or TryEnterCriticalSection function to acquire ownership of a critical section object. To release its ownership, the thread must call LeaveCriticalSection once for each time that it entered the critical section.

If a thread calls LeaveCriticalSection when it does not have ownership of the specified critical section object, an error occurs that may cause another thread using EnterCriticalSection to wait indefinitely.
Any thread of the process can use the DeleteCriticalSection function to release the system resources that were allocated when the critical section object was initialized. After this function has been called, the critical section object can no longer be used for synchronization.

See Also

DeleteCriticalSection, EnterCriticalSection, InitializeCriticalSection, TryEnterCriticalSection


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

LeaveCriticalSection



Функция LeaveCriticalSection выпускает собственность на определенный критический объект секции.

ПУСТОТА LeaveCriticalSection(

адрес LPCRITICAL_SECTION lpCriticalSection // критического объекта секции
);


Параметры

lpCriticalSection

Точки на критический объект секции.



Обратные Величины

Эта функция не возвращает величину.

Замечания

Резьба единственного процесса может использовать критическую секцию объекта для взаимного исключения синхронизации. Процесс ответственный за распределение памяти использованной критической секцией объекта, какое это может сделать посредством объявляющей переменной типа CRITICAL_SECTION. Перед использованием критической секции, некоторая резьба процесса должна назвать функцию InitializeCriticalSection, чтобы инициализировать объект.
Резьба использует EnterCriticalSection или функцию TryEnterCriticalSection, чтобы приобретать собственность на критический объект секции. Чтобы выпускать свою собственность, резьба должна назвать LeaveCriticalSection как только в течение всякий раз, когда, который он ввел критическую секцию.

Если резьба называет LeaveCriticalSection когда у него нет собственности на определенный критический объект секции, ошибка происходит, что может вызвать другую резьбу, использовавшую EnterCriticalSection, чтобы ожидаться неопределенно.
Любая резьба процесса может использовать функцию DeleteCriticalSection, чтобы выпускать системные ресурсы, которые были распределены когда критический объект секции был инициализирован. После того, как эта функция будет названа, критический объект секции не может больше использован для синхронизации.

Смотри Также

DeleteCriticalSection, EnterCriticalSection, InitializeCriticalSection, TryEnterCriticalSection


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz