UE ParallelFor
ParallelFor允许我们在一分钟内对任何 for 循环进行多线程处理,从而通过在多个线程之间拆分工作来划分执行时间。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "Runtime/Core/Public/Async/ParallelFor.h"
//例1
ParallelFor(num, [&](int32 i) {sum += i; });
//例2
FCriticalSection Mutex;
ParallelFor(Input.Num(), [&](int32 Idx){
if(Input[Idx] % 5 == 0){
Mutex.Lock();
Output.Add(Input[Idx]);
Mutex.Unlock();
}
});
本文由作者按照 CC BY 4.0 进行授权