diff options
Diffstat (limited to 'source/modules/asura-core/Threads/ThreadEx.h')
| -rw-r--r-- | source/modules/asura-core/Threads/ThreadEx.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/source/modules/asura-core/Threads/ThreadEx.h b/source/modules/asura-core/Threads/ThreadEx.h new file mode 100644 index 0000000..53600a6 --- /dev/null +++ b/source/modules/asura-core/Threads/ThreadEx.h @@ -0,0 +1,45 @@ +#ifndef _ASURA_THREAD_EX_H_ +#define _ASURA_THREAD_EX_H_ + +#include <asura-utils/Scripting/Portable.hpp> +#include <asura-utils/Threads/Thread.h> + +namespace_begin(AsuraEngine) +namespace_begin(Threads) + +/// +/// ThreadExÓе¥¶ÀµÄÐéÄâ»ú£¬²»Í¬µÄÐéÄâ»úͨ¹ý´Ë¶ÔÏó¹µÍ¨Êý¾Ý¡£ +/// +class ThreadEx ASURA_FINAL + : public AEScripting::Portable<ThreadEx> + , public Threadable +{ +public: + + LUAX_DECL_FACTORY(ThreadEx); + + ThreadEx(); + ~ThreadEx(); + + int Process() override; + +private: + + // ¸ø´ËÏ̵߳ÄÐéÄâ»ú×¢²áAsura¶ÔÏóºÍ½Ó¿Ú£¬×¢ÒâÖ»ÓÐÒ»²¿·Ö¶ÔÏó¿ÉÒÔÔÚÐéÄâ»úÖ®¼ä´«µÝ¡£²àÖØÓÚÄÇЩÊý¾ÝÀàÐ͵ĶÔÏó¡£ + void RegisterModules(); + + ThreadImpl* m_Impl; + + // Ï̴߳´½¨µÄÐéÄâ»ú¡£ + Luax::LuaxVM* m_VM; + +luaxport: + + LUAX_DECL_METHOD(_New); + +}; + +namespace_end +namespace_end + +#endif
\ No newline at end of file |
