Navigation
API > API/Runtime > API/Runtime/Core
A 2-bit intrusive mutex that is not fair and does not support recursive locking.
All bits of the state referenced by IsLockedFlag, IsLockedMask, and MayHaveWaitingLockFlag must be initialized to 0 or to values that are consistent with the functions being called.
| Name | TIntrusiveMutex |
| Type | class |
| Header File | /Engine/Source/Runtime/Core/Public/Async/IntrusiveMutex.h |
| Include Path | #include "Async/IntrusiveMutex.h" |
Syntax
template<CIntrusiveMutexParams ParamsType>
class TIntrusiveMutex
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TIntrusiveMutex() |
Async/IntrusiveMutex.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| StateType | TIntrusiveMutexStateType_T< ParamsType > | Async/IntrusiveMutex.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| IsLockedFlag | StateType | Async/IntrusiveMutex.h | |
| IsLockedMask | StateType | Async/IntrusiveMutex.h | |
| MayHaveWaitingLockFlag | StateType | Async/IntrusiveMutex.h | |
| SpinLimit | int32 | Async/IntrusiveMutex.h |
Functions
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static const void * GetWaitAddress
(
const std::atomic< StateType >& State |
Async/IntrusiveMutex.h | ||
static bool IsLocked
(
const std::atomic< StateType >& State |
Async/IntrusiveMutex.h | ||
static void Lock
(
std::atomic< StateType >& State |
Async/IntrusiveMutex.h | ||
static void LockLoop
(
std::atomic< StateType >& State |
Async/IntrusiveMutex.h | ||
static void LockSlow
(
std::atomic< StateType >& State |
Async/IntrusiveMutex.h | ||
static bool TryLock
(
std::atomic< StateType >& State |
Async/IntrusiveMutex.h | ||
static bool TryWakeWaitingThread
(
std::atomic< StateType >& State |
Async/IntrusiveMutex.h | ||
static void Unlock
(
std::atomic< StateType >& State |
Async/IntrusiveMutex.h | ||
static void UnlockSlow
(
std::atomic< StateType >& State |
Async/IntrusiveMutex.h | ||
static void WakeWaitingThread
(
std::atomic< StateType >& State |
Async/IntrusiveMutex.h |