Choose your operating system:
Windows
macOS
Linux
| FRWAccessDetector
|
Module |
|
Header |
/Engine/Source/Runtime/Core/Public/Misc/MTAccessDetector.h |
Include |
#include "Misc/MTAccessDetector.h" |
struct FRWAccessDetector
Read write multithread access detector, will check on concurrent write/write and read/write access, but will not on concurrent read access.
this detector is not re-entrant, see FRWRecursiveAccessDetector and FRWFullyRecursiveAccessDetector. But FRWAccessDetector should be the default one to start with.
Name | Description | ||
---|---|---|---|
|
std::atomic< ui... |
AtomicValue |
Name | Description | |
---|---|---|
|
FRWAccessDetector() |
Name | Description | |
---|---|---|
|
~FRWAccessDetector() |
Name | Description | ||
---|---|---|---|
|
AcquireReadAccess() |
Acquires read access, will check if there are any writers |
|
|
AcquireWriteAccess() |
Acquires write access, will check if there are readers or other writers |
|
|
ReleaseReadAccess() |
Releases read access, will check if there are any writers |
|
|
ReleaseWriteAccess() |
Releases write access, will check if there are readers or other writers |
Name |
Description |
---|---|
WriterBits |
We need to do an atomic operation to know there are multiple writers, this is why we reserve more than one bit for them. |
WriterIncrementValue |