Task是基于线程的,从线程池中调度合适线程去执行,任务执行完毕后,再对该线程进行回收。UE4 Task具体创建如下:
自定义一个继承自FNonAbandonableTask的类,可参考以下代码:
class TaskExample : public FNonAbandonableTask
{
//定义需要的属性
/*Code*/
public:
//构造函数,根据需要初始化数据
TaskExample()
{
/*Code*/
}
FORCEINLINE TStatId GetStatId() const
{
RETURN_QUICK_DECLARE_CYCLE_STAT(TaskExample, STATGROUP_ThreadPoolAsyncTasks);
}
/*需要使用Task完成的任务*/
void DoWork()
{
/*Code*/
}
};
对异步Task进行调用时,我们可以创建一个FAutoDeleteAsyncTask实例来进行调用,而不需要