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

  • VOID LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection);

    Освобождает критическую секцию,

    Рефераты | Рефераты по информатике, программированию | Критические секцииЛистинг 5. Псевдокод RtlLeaveCriticalSection из ntdll.dll

    VOID RtlLeaveCriticalSectionDbg(LPRTL_CRITICAL_SECTION pcs)

    {

      if (--pcs->RecursionCount)

        ::InterlockedDecrement(&pcs->LockCount);

      else if (::InterlockedDecrement(&pcs->LockCount) >= 0)

        RtlpUnWaitCriticalSection(pcs);

    }

    Классы-обертки для критических секций

    Рефераты | Рефераты по информатике, программированию | Критические секцииЛистинг 6. Код классов CLock, CAutoLock и CScopeLock.

    class CLock

    {

      friend class CScopeLock;

      CRITICAL_SECTION m_CS;

    public:

      void Init() { ::InitializeCriticalSection(&m_CS); }

      void Term() { ::DeleteCriticalSection(&m_CS); }

      void Lock() { ::EnterCriticalSection(&m_CS); }

      BOOL TryLock() { return ::TryEnterCriticalSection(&m_CS); }

      void Unlock() { ::LeaveCriticalSection(&m_CS); }


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



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




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

       




    Категории:



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




    •