diff options
Diffstat (limited to 'source/modules/asura-core/threading')
17 files changed, 92 insertions, 134 deletions
diff --git a/source/modules/asura-core/threading/coroutine.cpp b/source/modules/asura-core/threading/channel.cpp index e69de29..e69de29 100644 --- a/source/modules/asura-core/threading/coroutine.cpp +++ b/source/modules/asura-core/threading/channel.cpp diff --git a/source/modules/asura-core/threading/channel.h b/source/modules/asura-core/threading/channel.h new file mode 100644 index 0000000..edcd8cb --- /dev/null +++ b/source/modules/asura-core/threading/channel.h @@ -0,0 +1,19 @@ +#ifndef __ASURA_THREAD_CHANNEL_H__ +#define __ASURA_THREAD_CHANNEL_H__ + +#include <asura-utils/scripting/portable.hpp> + +namespace AsuraEngine +{ + namespace Threading + { + + class Channel + { + + }; + + } +} + +#endif
\ No newline at end of file diff --git a/source/modules/asura-core/threading/coroutine.h b/source/modules/asura-core/threading/coroutine.h deleted file mode 100644 index 1ac6b21..0000000 --- a/source/modules/asura-core/threading/coroutine.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef __ASURA_COROUTINE_H__ -#define __ASURA_COROUTINE_H__ - -#include <asura-lib-utils/scripting/portable.hpp> - -namespace AsuraEngine -{ - namespace Threading - { - - /// - /// luaЭ̣һЩ - /// - class Coroutine ASURA_FINAL - : public AEScripting::Portable<Coroutine> - { - public: - - LUAX_DECL_FACTORY(Coroutine); - - private: - - LUAX_DECL_METHOD(_New); - LUAX_DECL_METHOD(_Run); - - }; - - } -} - -#endif
\ No newline at end of file diff --git a/source/modules/asura-core/threading/thread.cpp b/source/modules/asura-core/threading/thread.cpp deleted file mode 100644 index e69de29..0000000 --- a/source/modules/asura-core/threading/thread.cpp +++ /dev/null diff --git a/source/modules/asura-core/threading/thread.h b/source/modules/asura-core/threading/thread.h deleted file mode 100644 index f4d3b48..0000000 --- a/source/modules/asura-core/threading/thread.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef __ASURA_THREAD_H__ -#define __ASURA_THREAD_H__ - -#include <queue> -#include <asura-lib-utils/scripting/portable.hpp> - -#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<Thread> - { - public: - - LUAX_DECL_FACTORY(Thread); - - bool Enqueue(ThreadTask* task); - - private: - - /// - /// С - /// - std::queue<ThreadTask*> mTaskQueue; - - ThreadImpl* mImpl; - - }; - - } -} - -#endif
\ No newline at end of file diff --git a/source/modules/asura-core/threading/thread_ex.cpp b/source/modules/asura-core/threading/thread_ex.cpp new file mode 100644 index 0000000..18b9fc7 --- /dev/null +++ b/source/modules/asura-core/threading/thread_ex.cpp @@ -0,0 +1,19 @@ +#include "thread_ex.h" + +namespace AsuraEngine +{ + namespace Threading + { + + void ThreadEx::Process() + { + + } + + void ThreadEx::RegisterModules() + { + + } + + } +}
\ No newline at end of file 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 <asura-utils/scripting/portable.hpp> +#include <asura-utils/threading/thread.h> + +namespace AsuraEngine +{ + namespace Threading + { + + /// + /// ThreadExеͬͨ˶ͨݡ + /// + class ThreadEx ASURA_FINAL + : public AEScripting::Portable<ThreadEx> + , 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 diff --git a/source/modules/asura-core/threading/thread_impl_posix.cpp b/source/modules/asura-core/threading/thread_impl_posix.cpp deleted file mode 100644 index e69de29..0000000 --- a/source/modules/asura-core/threading/thread_impl_posix.cpp +++ /dev/null diff --git a/source/modules/asura-core/threading/thread_impl_posix.h b/source/modules/asura-core/threading/thread_impl_posix.h deleted file mode 100644 index e69de29..0000000 --- a/source/modules/asura-core/threading/thread_impl_posix.h +++ /dev/null diff --git a/source/modules/asura-core/threading/thread_impl_sdl.cpp b/source/modules/asura-core/threading/thread_impl_sdl.cpp deleted file mode 100644 index e69de29..0000000 --- a/source/modules/asura-core/threading/thread_impl_sdl.cpp +++ /dev/null diff --git a/source/modules/asura-core/threading/thread_impl_sdl.h b/source/modules/asura-core/threading/thread_impl_sdl.h deleted file mode 100644 index e69de29..0000000 --- a/source/modules/asura-core/threading/thread_impl_sdl.h +++ /dev/null diff --git a/source/modules/asura-core/threading/thread_impl_std.cpp b/source/modules/asura-core/threading/thread_impl_std.cpp deleted file mode 100644 index e69de29..0000000 --- a/source/modules/asura-core/threading/thread_impl_std.cpp +++ /dev/null diff --git a/source/modules/asura-core/threading/thread_impl_std.h b/source/modules/asura-core/threading/thread_impl_std.h deleted file mode 100644 index e69de29..0000000 --- a/source/modules/asura-core/threading/thread_impl_std.h +++ /dev/null diff --git a/source/modules/asura-core/threading/thread_impl_win32.cpp b/source/modules/asura-core/threading/thread_impl_win32.cpp deleted file mode 100644 index e69de29..0000000 --- a/source/modules/asura-core/threading/thread_impl_win32.cpp +++ /dev/null diff --git a/source/modules/asura-core/threading/thread_impl_win32.h b/source/modules/asura-core/threading/thread_impl_win32.h deleted file mode 100644 index 5d854cc..0000000 --- a/source/modules/asura-core/threading/thread_impl_win32.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef __ASURA_THREAD_WIN32_H__ -#define __ASURA_THREAD_WIN32_H__ - -#include "../core_config.h" - -#include "thread.h" - -#if ASURA_THREAD_WIN32 - -namespace AsuraEngine -{ - namespace Threading - { - - class ThreadImplWin32 : public ThreadImpl - { - - }; - - } -} - -#endif // #if ASURA_THREAD_WIN32 - -#endif
\ No newline at end of file diff --git a/source/modules/asura-core/threading/thread_task.cpp b/source/modules/asura-core/threading/thread_task.cpp deleted file mode 100644 index e69de29..0000000 --- a/source/modules/asura-core/threading/thread_task.cpp +++ /dev/null diff --git a/source/modules/asura-core/threading/thread_task.h b/source/modules/asura-core/threading/thread_task.h deleted file mode 100644 index 19eb113..0000000 --- a/source/modules/asura-core/threading/thread_task.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef __ASURA_THRAD_TASK_H__ -#define __ASURA_THRAD_TASK_H__ - -#include <asura-lib-utils/type.h> - -namespace AsuraEngine -{ - namespace Threading - { - - /// - /// ϣһ̴̳߳TaskдExecute - /// - ASURA_ABSTRACT class ThreadTask - { - public: - - virtual bool Execute() = 0; - - }; - - } -} - -#endif
\ No newline at end of file |