summaryrefslogtreecommitdiff
path: root/source/modules/asura-core/Threads/ThreadEx.h
blob: ec597c5aae66a0ea15bc802daa70277590606233 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef _ASURA_THREAD_EX_H_
#define _ASURA_THREAD_EX_H_

#include <asura-base/Scripting/Scripting.h>
#include <asura-base/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