336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

ibm 사이트 인데 이게 갑인듯 2편 까지 있음


위 사이트를 보고 만든큐 코코스2d 작업용으로 딱임


#pragma once


#include <pthread.h>

#include <list>



template <class T>

class CC_EX_DLL BlockingQueue { 


public: 

   BlockingQueue ( ) { 

       pthread_mutex_init(&_lock, NULL); 

       pthread_cond_init(&_cond, NULL);

    } 

    ~BlockingQueue ( ) { 

       pthread_mutex_destroy(&_lock);

       pthread_cond_destroy(&_cond);

    } 

    

    T * pop( ) 

    { 

       pthread_mutex_lock(&_lock);

       while (_list.empty( )) { 

           pthread_cond_wait(&_cond, &_lock) ;

       }

       T * _temp = _list.front( );

       _list.pop_front( );

       pthread_mutex_unlock(&_lock);

       return _temp;

    }

    

    void push(T * value ) 

    { 

       pthread_mutex_lock(&_lock);

       const bool was_empty = _list.empty( );

       _list.push_back(value);

       pthread_mutex_unlock(&_lock);

       if (was_empty) 

           pthread_cond_broadcast(&_cond);

    }


private: 

    std::list<T*> _list; 

    pthread_mutex_t _lock;

    pthread_cond_t _cond;

};



' > 코딩' 카테고리의 다른 글

boost fusion을 이용한 멤버기반 class 복사하기  (0) 2016.08.24
C# 링크로 파일 추가 시 빌드때 자동 복사  (0) 2015.01.29
nginx 설치 정리  (0) 2013.04.17
C# Amazon S3Region 의미  (0) 2013.04.16
ZooKeeper C#  (0) 2013.04.10

+ Recent posts