文章

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 进行授权