关键字:UE4的线程安全、数据同步、锁
官方文档:
FScopeLock
https://docs.unrealengine.com/latest/INT/API/Runtime/Core/HAL/FScopeLock/index.html
所在头文件:Runtime/Core/Public/HAL/ThreadingBase.h
用法:
1,先定义一个成员变量
FCriticalSection Mutex;
2,用大括号将需要需要同步的代码块包住,并将FScopeLock ScopeLock(Mutex);这句代码放在大括号的第一行:
void MyFunction()
{
...不需要同步的代码块
{
FScopeLock ScopeLock(Mutex);
...需要同步的代码块
}
...不需要同步的代码块
}
当线程离开定义FScopeLock所在的大括号后,其他线程就可以进入这个大括号内并能够访问到:...需要同步的代码块