, , ; .
Windows CRITICAL_SECTION.
CRITICAL_SECTION (CS) , . CRITICAL_SECTION. CS , CS . , CS , .
CRITICAL_SECTION , , InitializeCriticalSection DeleteCriticalSection:
VOID InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection)
VOID DeleteCriticalSection(LPCRITICAL_SECTION lpCriticalSection)
EnterCriticalSection , . , LeaveCriticalSection. , CS, EnterCriticalSection, LeaveCriticalSection. CS; , -.
CS, CS , CS.
VOID EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection)
VOID LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection)
, CS, CS ; , CRITICAL_SECTION (recursive). CS, CS , , . () .
CS, , , .
EnterCriticalSection ; , , CS, . , TryEnterCriticalSection, () CS, , .
BOOL TryEnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection)
TryEnterCriticalSection True , , False , .
CRITICAL_SECTION , . , , . , , .