thread.h 744 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef THREAD_H
  2. #define THREAD_H
  3. #include <pthread.h>
  4. typedef void (*CALLBACK)(void);
  5. class Thread
  6. {
  7. public:
  8. Thread();
  9. virtual ~Thread();
  10. bool start(void *object = NULL);
  11. virtual void exit();
  12. virtual void exit2();
  13. bool isRunning(){
  14. return (m_thread_id != 0);
  15. }
  16. bool setName(const char* name);
  17. protected:
  18. virtual void run() = 0;
  19. bool is_stop() const;
  20. private:
  21. static void *thread_func(void *param);
  22. protected:
  23. void (*m_callback)();
  24. void *m_Object;
  25. bool m__thread_stop;
  26. pthread_t m_thread_id;
  27. struct sched_param m_param;
  28. pthread_mutex_t mArkMutex;
  29. };
  30. #endif // THREAD_H