Реферат: Критические секции
{
::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
Бесплатно скачать Реферат: Критические секции
|