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/channel.cpp | 0 source/modules/asura-core/threading/channel.h | 19 ++++++++ source/modules/asura-core/threading/coroutine.cpp | 0 source/modules/asura-core/threading/coroutine.h | 31 ------------- source/modules/asura-core/threading/thread.cpp | 0 source/modules/asura-core/threading/thread.h | 53 --------------------- source/modules/asura-core/threading/thread_ex.cpp | 19 ++++++++ source/modules/asura-core/threading/thread_ex.h | 54 ++++++++++++++++++++++ .../asura-core/threading/thread_impl_posix.cpp | 0 .../asura-core/threading/thread_impl_posix.h | 0 .../asura-core/threading/thread_impl_sdl.cpp | 0 .../modules/asura-core/threading/thread_impl_sdl.h | 0 .../asura-core/threading/thread_impl_std.cpp | 0 .../modules/asura-core/threading/thread_impl_std.h | 0 .../asura-core/threading/thread_impl_win32.cpp | 0 .../asura-core/threading/thread_impl_win32.h | 25 ---------- .../modules/asura-core/threading/thread_task.cpp | 0 source/modules/asura-core/threading/thread_task.h | 25 ---------- 18 files changed, 92 insertions(+), 134 deletions(-) create mode 100644 source/modules/asura-core/threading/channel.cpp create mode 100644 source/modules/asura-core/threading/channel.h delete mode 100644 source/modules/asura-core/threading/coroutine.cpp delete mode 100644 source/modules/asura-core/threading/coroutine.h delete mode 100644 source/modules/asura-core/threading/thread.cpp delete mode 100644 source/modules/asura-core/threading/thread.h create mode 100644 source/modules/asura-core/threading/thread_ex.cpp create mode 100644 source/modules/asura-core/threading/thread_ex.h delete mode 100644 source/modules/asura-core/threading/thread_impl_posix.cpp delete mode 100644 source/modules/asura-core/threading/thread_impl_posix.h delete mode 100644 source/modules/asura-core/threading/thread_impl_sdl.cpp delete mode 100644 source/modules/asura-core/threading/thread_impl_sdl.h delete mode 100644 source/modules/asura-core/threading/thread_impl_std.cpp delete mode 100644 source/modules/asura-core/threading/thread_impl_std.h delete mode 100644 source/modules/asura-core/threading/thread_impl_win32.cpp delete mode 100644 source/modules/asura-core/threading/thread_impl_win32.h delete mode 100644 source/modules/asura-core/threading/thread_task.cpp delete mode 100644 source/modules/asura-core/threading/thread_task.h (limited to 'source/modules/asura-core/threading') diff --git a/source/modules/asura-core/threading/channel.cpp b/source/modules/asura-core/threading/channel.cpp new file mode 100644 index 0000000..e69de29 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 + +namespace AsuraEngine +{ + namespace Threading + { + + class Channel + { + + }; + + } +} + +#endif \ No newline at end of file diff --git a/source/modules/asura-core/threading/coroutine.cpp b/source/modules/asura-core/threading/coroutine.cpp deleted file mode 100644 index e69de29..0000000 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 - -namespace AsuraEngine -{ - namespace Threading - { - - /// - /// lua协程,用来做一些逻辑并发操作。 - /// - class Coroutine ASURA_FINAL - : public AEScripting::Portable - { - 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 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 -#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 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 +#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 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 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 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 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 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 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 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 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 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 - -namespace AsuraEngine -{ - namespace Threading - { - - /// - /// 希望放在另一个线程处理的任务,继承Task并重写Execute方法。 - /// - ASURA_ABSTRACT class ThreadTask - { - public: - - virtual bool Execute() = 0; - - }; - - } -} - -#endif \ No newline at end of file -- cgit v1.1-26-g67d0