//////////////////////////////////////////////////////////////////////////// // CThread クラスのインタフェース宣言 // //////////////////////////////////////////////////////////////////////////// #if !defined( THREAD_H_INCLUDED_ ) #define THREAD_H_INCLUDED_ #include #include "Semaphore.h" class CThread { public: CThread(); ~CThread(); // スレッドの開始 virtual bool start(); // スレッドのエントリポイント virtual void run(); // スレッドの前後の処理 void RunEntry(); // スレッド番号を取得 pthread_t GetThreadID() const; // このスレッドの終了を待ち合わせる void Wait(); protected: // スレッドを終了させる void ExitThread(); private: // スレッドのID pthread_t m_ThreadID; // このスレッドの待ち合わせ用 CSemaphore semaWait; CSemaphore semaExitFlg; bool IsExit; // 終了したか否か }; #endif // THREAD_H_INCLUDED_