要初始化一個靜態的CRITICAL_SECTION對象,可以使用以下方法:
static CRITICAL_SECTION cs;
int main()
{
InitializeCriticalSection(&cs);
// ...
}
注意:如果初始化失敗,可以使用TryEnterCriticalSection函數來嘗試初始化CRITICAL_SECTION對象,示例如下:
int main()
{
if (!InitializeCriticalSectionAndSpinCount(&cs, 0))
{
if (TryEnterCriticalSection(&cs))
{
LeaveCriticalSection(&cs);
}
else
{
// 初始化失敗
}
}
// ...
}
int main()
{
InitializeCriticalSection(&cs);
// 使用CRITICAL_SECTION對象進行臨界區保護
DeleteCriticalSection(&cs);
// ...
}
這樣就成功地初始化了一個靜態的CRITICAL_SECTION對象。