RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'동기화 클래스'에 해당되는 글 1
원본 : http://www.debuglab.com/knowledge/synctemplate.html

1.요약

템플릿을 이용하여 원하는 클래스를 동기화 클래스로 만들어 보겠습니다.


2.본문

template <class T> 

class CSyncClass : public T 

{ 

public: 

    CSyncClass()           { ::InitializeCriticalSection(&m_CritSectionStruct); }; 

    virtual ~CSyncClass() { ::DeleteCriticalSection(&m_CritSectionStruct); }; 

    

private: 

    CRITICAL_SECTION      m_CritSectionStruct; 

    

public: 

    inline void Lock()    { ::EnterCriticalSection(&m_CritSectionStruct); }; 

    inline void Unlock()  { ::LeaveCriticalSection(&m_CritSectionStruct); }; 

}; 


3.예제

class CQueue 

{ 

    ... 

protected: 

    CSyncClass<CPtrList> m_Queue; 

    ... 

public: 

    void Queue(LPVOID pItem); 

    LPVOID Top(); 

    ... 

}; 



void CQueue::Queue(LPVOID pItem) 

{ 

    m_Queue.Lock(); 

    m_Queue.AddTail(pItem); 

    m_Queue.Unlock(); 

} 



LPVOID CQueue::Top() 

{ 

    LPVOID pItem = NULL; 

    m_Queue.Lock(); 

    if (!m_Queue.IsEmpty()) 

        pItem = m_Queue.RemoveHead(); 

    m_Queue.Unlock(); 

    

    return pItem; 

} 



- 2001.08.13 Smile Seo -
이올린에 북마크하기(0) 이올린에 추천하기(0)
2007/03/05 16:51 2007/03/05 16:51
http://www.webdizen.net/blog/trackback/2678
[로그인][오픈아이디란?]
webdizen:이 세상에 존재하는 모든 데이터를 체계화하고, 효과적으로 분석하는 그 날까지 이 재미난 연구를 계속해 나갈 생각입니다.

현재 OLAP, Data Warehouse, Data Mining, Cloud Computing, MapReduce, Data Modeling에 대해서 연구하고 있습니다.
이 세상에 존재하는 모든 데이터를 체계화하고, 효과적으로 분석하는 그 날까지 이 재미난 연구를 계속해 나갈 생각입니다. 현재 OLAP, Data Warehouse, Data Mining, Cloud Computing, MapReduce, Data Modeling에 대해서 연구하고 있습니다.
전체 (3018)
Webdizen (145)
Hardware (121)
Software (120)
Windows (5)
Unix & Linux (120)
Cloud Computing (3)
Programming (807)
Data Modeling (0)
Database (105)
Data Warehouse (2)
Data Mining (4)
Network (66)
Web (80)
Security (91)
Embedded (70)
Multimedia (27)
Mobile (14)
Graphic (24)
Management (633)
Knowledge (581)
«   2010/09   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
  1. yundream의 프로그래밍 이야기  03/10
    printf,scanf를 이용한 형식화된 입출력
  2. 은마군의 나태블록  2009
    파일 열기/저장하기 CFileDialog
  3. 상우 :: Oranzie's BLOG  2008
    World IT Show 2008
  4. 3인3색  2008
    cvs서버 설치하기
  5. PHP와 Web 2.0  2007
    속속 공개되는 Google Chart Maker
  1. 2010/09 (2)
  2. 2010/08 (2)
  3. 2010/07 (2)
  4. 2010/05 (1)
  5. 2010/04 (2)