#ifndef THREAD_H #define THREAD_H #include <iostream> #include <map> #include <SDL_thread.h> class Thread { public: Thread(); virtual ~Thread();// arrete automatiquement le thread meme si il est en cour bool start();// demarre la fonction run() dans un thread void stop();// arrete le thread void join();// ratache la thread au processus principale qui est bloqu� et attend que le run() se termine void setAutoDelete(bool autoDelete);// permet de declarer dynamiquement une class qui erite de Thread sans garder le pointeur, il sera delete a la fin du thread si l'argument est true bool threadRunning(); bool lockMutex(std::string name); bool unlockMutex(std::string name); virtual void run() = 0;// tout devra se passer ici protected: bool createLockMutex(std::string name); private: static int ThreadInit(void* param); bool m_isstop; SDL_Thread *m_t; bool m_autoDelete; std::map<std::string, SDL_mutex*> m_mutexs; }; #endif // THREAD_H