blob: 9f78860a9b574a145b3e17cb78860f2d2ffa1779 (
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
|
#ifndef __ASURA_THRAD_TASK_H__
#define __ASURA_THRAD_TASK_H__
#include <asura-lib-utils/type.h>
#include <asura-lib-utils/scripting/portable.hpp>
namespace AsuraEngine
{
namespace Threading
{
///
/// ϣ��������һ���̴߳��������̳�Task����дExecute������
///
ASURA_ABSTRACT class Task
: virtual public AEScripting::NativeAccessor
{
public:
Task();
virtual ~Task();
///
/// ִ��������ɺ�true�����ûص�������
///
virtual bool Execute() = 0;
///
/// ���ûص���
///
virtual void Invoke(lua_State* thread) = 0;
protected:
Luax::LuaxMemberRef mCallback;
};
}
}
namespace AEThreading = AsuraEngine::Threading;
#endif
|