LeaveCriticalSection函数释放指定的关键段对象的所有权。
VOID LeaveCriticalSection(
LPCRITICAL_SECTION 【lpCriticalSection】 | //关键部分对象的地址 |
); |
参数
【lpCriticalSection】
指向临界区对象。
返回值
此函数不返回值。
备注
单个进程的线程可以使用临界区对象进行互斥同步。该过程负责分配关键部分对象使用的内存,它可以通过声明CRITICAL_SECTION类型的变量来执行。在使用关键部分之前,进程的一些线程必须调用InitializeCriticalSection函数来初始化对象。
一个线程使用EnterCriticalSection或TryEnterCriticalSection函数获取临界区对象的所有权。要释放其所有权,线程必须在每次进入临界区时调用LeaveCriticalSection一次。
如果一个线程在没有指定的关键部分对象的所有权的情况下调用LeaveCriticalSection,则可能会导致使用EnterCriticalSection的另一个线程无限期地等待出现错误。
进程的任何线程可以使用DeleteCriticalSection函数来释放临时段对象初始化时分配的系统资源。调用此函数后,临界区对象不能再用于同步。
也可以看看
DeleteCriticalSection, EnterCriticalSection, InitializeCriticalSection, TryEnterCriticalSection