00001 /* 00002 File: Thread.win32.h 00003 00004 Copyright(C) C. Kotterink, Computed Graphics 00005 */ 00006 #ifndef THREAD_H 00007 #define THREAD_H 00008 00009 #include<Mutex.h> 00010 00016 class Thread 00017 { 00019 friend DWORD threadFunc(void *obj); 00020 00021 public: 00023 Thread(); 00024 virtual ~Thread(); 00025 00027 bool isActive(); 00028 00030 virtual void *run() = 0; 00031 00033 void *start(); 00034 00036 void join(); 00037 00038 private: 00040 HANDLE threadId; 00041 00043 bool active; 00044 00046 Mutex mutex; 00047 }; 00048 #endif