Например, это действительно?Действительно ли он имеет mutilayered критический раздел?
CRITICAL_SECTION cs_A;
CRITICAL_SECTION cs_b;
::InitializeCriticalSection(&cs_A);
::InitializeCriticalSection(&cs_B);
::EnterCriticalSection(&cs_A); // First level
/* do some stuff with A */
::EnterCriticalSection(&cs_B); // Second level
/* do some stuff with A and B */
::LeaveCriticalSection(&cs_B); // Second level
/* do some stuff with A */
::LeaveCriticalSection(&cs_A); // First level
::DeleteCriticalSection(&cs_A);
::DeleteCriticalSection(&cs_B);
Я хотел бы защитить два очень разных раздела кода с двумя критическими разделами. Могу ли я это сделать?
Возможные Дубликаты: Is it valid to nest a critical section?
просто из любопытства: почему бы не использовать библиотеку параллелизма C++ 11? –