struct IThreadTaskManager { };
IThreadTask.h
Task manager.
virtual ~IThreadTaskManager();
virtual ThreadPoolHandle CreateThreadsPool(const ThreadPoolDesc& desc) = 0;
Create a pool of threads
virtual const bool DestroyThreadsPool(const ThreadPoolHandle& handle) = 0;
virtual threadID GetThreadByName(const char* sThreadName) = 0;
Return thread handle by thread name
virtual const char* GetThreadName(threadID dwThreadId) = 0;
virtual const bool GetThreadsPoolDesc(const ThreadPoolHandle handle, ThreadPoolDesc* pDesc) const = 0;
virtual void MarkThisThreadForDebugging(const char * name, bool bDump) = 0;
if bMark=true the calling thread will dump its stack during crashes
virtual void RegisterTask(IThreadTask * pTask, const SThreadTaskParams & options) = 0;
Register new task to the manager.
virtual void SetMaxThreadCount(int nMaxThreads) = 0;
Limit number of threads to this amount.
virtual void SetThreadName(threadID dwThreadId, const char * sThreadName) = 0;
virtual const bool SetThreadsPoolAffinity(const ThreadPoolHandle handle, const ThreadPoolAffinityMask AffinityMask) = 0;
virtual void UnregisterTask(IThreadTask * pTask) = 0;