From c302f5ae5f9e30a28e487e8a764d9cc31546bbea Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 29 Mar 2019 22:51:04 +0800 Subject: *rename --- source/modules/asura-core/threading/thread.h | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 source/modules/asura-core/threading/thread.h (limited to 'source/modules/asura-core/threading/thread.h') diff --git a/source/modules/asura-core/threading/thread.h b/source/modules/asura-core/threading/thread.h new file mode 100644 index 0000000..f4d3b48 --- /dev/null +++ b/source/modules/asura-core/threading/thread.h @@ -0,0 +1,53 @@ +#ifndef __ASURA_THREAD_H__ +#define __ASURA_THREAD_H__ + +#include +#include + +#include "thread_task.h" + +namespace AsuraEngine +{ + namespace Threading + { + + /// + /// 线程的具体实现,对用户是透明的,一共准备了四种策略: + /// 1: win32 + /// 2: posix + /// 3: SDL + /// 4: std::thread + /// + ASURA_ABSTRACT class ThreadImpl + { + public: + + }; + + /// + /// 线程主体,每个线程维护一个task queue。 + /// + class Thread ASURA_FINAL + : public AEScripting::Portable + { + public: + + LUAX_DECL_FACTORY(Thread); + + bool Enqueue(ThreadTask* task); + + private: + + /// + /// 任务队列。 + /// + std::queue mTaskQueue; + + ThreadImpl* mImpl; + + }; + + } +} + +#endif \ No newline at end of file -- cgit v1.1-26-g67d0