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

Критические секции

Критические секции

Павел Блудов

Введение

Критические секции -- это объекты, используемые для блокировки доступа всех нитей (threads) приложения, кроме одной, к некоторым важным данным в один момент времени. Например, имеется переменная m_pObject и несколько нитей, вызывающих методы объекта, на который ссылается m_pObject, причем эта переменная может изменять свое значение время от времени. Иногда там даже оказывается нуль. Предположим, имеется вот такой код:

// Нить №1

void Proc1()

{

    if (m_pObject)

        m_pObject->SomeMethod();

}

// Нить №2

void Proc2(IObject *pNewObject)

{

    if (m_pObject)

        delete m_pObject;

    m_pObject = pNewobject;

}




2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.