Реферат: Критические секции

{

::EnterCriticalSection(&m_lock1);

//. ..

::EnterCriticalSection(&m_lock2);

//. ..

::LeaveCriticalSection(&m_lock2);

//. ..

::LeaveCriticalSection(&m_lock1);

}

// Нить №2

void Proc2()

{

::EnterCriticalSection(&m_lock2);

//. ..

::EnterCriticalSection(&m_lock1);

//. ..

::LeaveCriticalSection(&m_lock1);

//. ..

::LeaveCriticalSection(&m_lock2);

}

Проблемы могут возникнуть и при... копировании критических секций. Понятно, что вот такой код вряд ли сможет написать программист в здравом уме и памяти:

CRITICAL_SECTION sec1;

CRITICAL_SECTION sec2;

//. ..

sec1 = sec2;

Из такого присвоения трудно извлечь какую-либо пользу. А вот такой код иногда пишут:

struct SData

{

CLock m_lock;

К-во Просмотров: 768
Бесплатно скачать Реферат: Критические секции