xref: /TaskScheduler/Scheduler/Include/Platform/Common/MTThread.h (revision c88507a8)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 SpinSleepMicroSeconds(uint32 microseconds)
21 		{
22 			int64 desiredTime = GetTimeMicroSeconds() + microseconds;
23 			while(GetTimeMicroSeconds() <= desiredTime) {}
24 		}
25 
26 		static void SpinSleepMilliSeconds(uint32 milliseconds)
27 		{
28 			int64 desiredTime = GetTimeMilliSeconds() + milliseconds;
29 			while(GetTimeMilliSeconds() <= desiredTime) {}
30 		}
31 
32 		// obsolete
33 		static void SpinSleep(uint32 milliseconds)
34 		{
35 			SpinSleepMilliSeconds(milliseconds);
36 		}
37 
38 	};
39 }
40 
41 
42 

served by {OpenGrok

Last Index Update: Tue Oct 21 18:42:31 GMT 2025