要初始化一个静态的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对象。