From c270d033fa04873ee7a8925dbb00cae5edc4555c Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 30 Mar 2019 11:59:35 +0800 Subject: *misc --- source/modules/asura-core/threading/thread_ex.h | 54 +++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 source/modules/asura-core/threading/thread_ex.h (limited to 'source/modules/asura-core/threading/thread_ex.h') diff --git a/source/modules/asura-core/threading/thread_ex.h b/source/modules/asura-core/threading/thread_ex.h new file mode 100644 index 0000000..9f63034 --- /dev/null +++ b/source/modules/asura-core/threading/thread_ex.h @@ -0,0 +1,54 @@ +#ifndef __ASURA_THREAD_EX_H__ +#define __ASURA_THREAD_EX_H__ + +#include +#include + +namespace AsuraEngine +{ + namespace Threading + { + + /// + /// ThreadEx有单独的虚拟机,不同的虚拟机通过此对象沟通数据。 + /// + class ThreadEx ASURA_FINAL + : public AEScripting::Portable + , public Threadable + { + public: + + LUAX_DECL_FACTORY(ThreadEx); + + ThreadEx(); + ~ThreadEx(); + + int Process() override; + + private: + + //----------------------------------------------------------------------------// + + LUAX_DECL_METHOD(_New); + + //----------------------------------------------------------------------------// + + /// + /// 给此线程的虚拟机注册Asura对象和接口,注意只有一部分对象可以在虚拟机之间传递。侧重 + /// 于那些数据类型的对象。 + /// + void RegisterModules(); + + ThreadImpl* mImpl; + + /// + /// 线程创建的虚拟机。 + /// + Luax::LuaxVM* mVM; + + }; + + } +} + +#endif \ No newline at end of file -- cgit v1.1-26-g67d0