Рефераты | Рефераты по информатике, программированию | Критические секции | страница реферата 9 | Большая Энциклопедия Рефератов от А до Я
Большая Энциклопедия Рефератов от А до Я
  • Рефераты, курсовые, шпаргалки, сочинения, изложения
  • Дипломы, диссертации, решебники, рассказы, тезисы
  • Конспекты, отчеты, доклады, контрольные работы

  • Отладка критических секций

    Весьма интересное и увлекательное занятие. Можно потратить часы и недели, но так и не найти, где именно возникает проблема. Стоит уделить этому особо пристальное внимание. Ошибки, связанные с критическими секциями, бывают двух типов: ошибки реализации и архитектурные ошибки.

    Ошибки, связанные с реализацией

    Это довольно легко обнаруживаемые ошибки, как правило, связанные с непарностью вызовов ::EnterCriticalSection() и ::LeaveCriticalSection().

    Рефераты | Рефераты по информатике, программированию | Критические секцииЛистинг 8. Пропущен вызов ::EnterCriticalSection().

    // Процедура предполагает, что m_lockObject.Lock(); уже был вызван

    void Pool()

    {

      for (int i = 0; i < m_vectSinks.size(); i++)

      {

        m_lockObject.Unlock();

        m_vectSinks[i]->DoSomething();

        m_lockObject.Lock();

      }

    }

    ::LeaveCriticalSection() без ::EnterCriticalSection() приведет к тому, что первый же вызов ::EnterCriticalSection() остановит выполнение нити навсегда.

    Рефераты | Рефераты по информатике, программированию | Критические секцииЛистинг 9. Пропущен вызов ::LeaveCriticalSection().

    void Proc()

    {

      m_lockObject.Lock();

      if (!m_pObject)


    Рекомендуем скачать другие рефераты по теме: реферат на экономическую тему, инновационная деятельность.



    Предыдущая страница реферата | 4  5  6  7  8  9  10  11  12  13  14 |




    Поделитесь этой записью или добавьте в закладки

       




    Категории:



    Разделы сайта




    •