UE4的多线程
1. 源代码 AsyncWork.h 2. 多线程的使用 参考文档: https://wiki.unrealengine.com/Using_AsyncTasks 当我们需要执行一个需要很长时间的任务时,放在主线程里会导致很卡,把此任务放到其他线程里则会好很多,此时多线程就可以起到关键的作用了。 在UE4里,我们可以使用FAsyncTask 或者FAutoDeleteAsyncTask。 使用FAsyncTask 时,我们需要手动停止或删除任务;使用FAutoDeleteAsyncTask时,系统则会自动在任务结束后,删除任务。 需要先建个继承FNonAbandonableTask的类,如源码中的例子: class ExampleAutoDeleteAsyncTask : public FNonAbandonableTask { friend class FAutoDeleteAsyncTask<ExampleAutoDeleteAsyncTask> ; int32 ExampleData; ExampleAutoDeleteAsyncTask(int32 InExampleData) : ExampleData(InExampleData) { } void DoWork() { ... do the work here } FORCEINLINE