1 #pragma once 2 3 namespace MT 4 { 5 class ThreadBase 6 { 7 protected: 8 void * funcData; 9 TThreadEntryPoint func; 10 public: 11 12 MT_NOCOPYABLE(ThreadBase); 13 14 ThreadBase() 15 : funcData(nullptr) 16 , func(nullptr) 17 { 18 } 19 20 static void SpinSleep(uint32 milliseconds) 21 { 22 int64 desiredTime = GetTimeMilliSeconds() + milliseconds; 23 while(GetTimeMilliSeconds() <= desiredTime) {} 24 } 25 }; 26 } 27 28 29