#ifndef COSY_MThread #define COSY_MThread #ifdef __CINT__ typedef unsigned long int pthread_t; #else #include #endif class MThread { private: bool fIsRunning; bool fIsDetached; bool fStop; pthread_t *fThread; void *fReturn; int fPriority; static void *MapThread(void *arg); void *RunThread(); virtual void *Thread() = 0; public: MThread(bool start=true, int prio=0); virtual ~MThread(); bool SetPriority(int prio); void Detach(); void Start(); void Stop(); bool HasStopFlag() const { return fStop; } }; #endif