LeaveCriticalSection

【勇芳软件工作室】汉化HomePreviousNext

LeaveCriticalSection函数释放指定的关键段对象的所有权。

VOID LeaveCriticalSection(

LPCRITICAL_SECTION 【lpCriticalSection】//关键部分对象的地址
); 

参数

【lpCriticalSection】

指向临界区对象。

返回值

此函数不返回值。

备注

单个进程的线程可以使用临界区对象进行互斥同步。该过程负责分配关键部分对象使用的内存,它可以通过声明CRITICAL_SECTION类型的变量来执行。在使用关键部分之前,进程的一些线程必须调用InitializeCriticalSection函数来初始化对象。

一个线程使用EnterCriticalSectionTryEnterCriticalSection函数获取临界区对象的所有权。要释放其所有权,线程必须在每次进入临界区时调用LeaveCriticalSection一次。

如果一个线程在没有指定的关键部分对象的所有权的情况下调用LeaveCriticalSection,则可能会导致使用EnterCriticalSection的另一个线程无限期地等待出现错误。

进程的任何线程可以使用DeleteCriticalSection函数来释放临时段对象初始化时分配的系统资源。调用此函数后,临界区对象不能再用于同步。

也可以看看

DeleteCriticalSection, EnterCriticalSection, InitializeCriticalSection, TryEnterCriticalSection