#ifndef COND_H #define COND_H /// ×¢ÒâMingwµÄ»°Ê¹ÓõÄÊÇlinuxϵÄapi pthread /// ûÓÐ_MSC_VERÕâ¸öºê ÎÒÃǾÍÈÏΪËûÓõÄÊÇmingw±àÒëÆ÷ #ifndef _MSC_VER #define MINGW #endif #if defined(WIN32) && !defined(MINGW) #include #include #else #include #include #endif class Cond { public: Cond(); ~Cond(); //ÉÏËø int Lock(); //½âËø int Unlock(); // int Wait(); //¹Ì¶¨Ê±¼äµÈ´ý int TimedWait(int second); // int Signal(); //»½ÐÑËùÓÐ˯ÃßÏß³Ì int Broadcast(); private: #if defined(WIN32) && !defined(MINGW) CRITICAL_SECTION m_mutex; RTL_CONDITION_VARIABLE m_cond; #else pthread_mutex_t m_mutex; pthread_cond_t m_cond; #endif }; #endif // MUTEX_H