UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::FSharedRecursiveMutex Class Referencefinal

#include <SharedRecursiveMutex.h>

Public Member Functions

constexpr FSharedRecursiveMutex ()=default
 
 FSharedRecursiveMutex (const FSharedRecursiveMutex &)=delete
 
FSharedRecursiveMutexoperator= (const FSharedRecursiveMutex &)=delete
 
bool IsLocked () const
 
UE_API bool TryLock ()
 
UE_API void Lock ()
 
UE_API void Unlock ()
 
bool IsLockShared () const
 
UE_API bool TryLockShared (Core::Private::FSharedRecursiveMutexLink &Link)
 
UE_API void LockShared (Core::Private::FSharedRecursiveMutexLink &Link)
 
UE_API void UnlockShared (Core::Private::FSharedRecursiveMutexLink &Link)
 

Detailed Description

An eight-byte shared mutex that is not fair and supports recursive locking.

Prefer FRecursiveMutex when shared locking is not required. Prefer FSharedMutex when recursive locking is not required. All non-recursive shared locks will wait when any thread is waiting to take an exclusive lock. An exclusive lock and a shared lock may not be simultaneously held by the same thread.

Constructor & Destructor Documentation

◆ FSharedRecursiveMutex() [1/2]

constexpr UE::FSharedRecursiveMutex::FSharedRecursiveMutex ( )
constexprdefault

◆ FSharedRecursiveMutex() [2/2]

UE::FSharedRecursiveMutex::FSharedRecursiveMutex ( const FSharedRecursiveMutex )
delete

Member Function Documentation

◆ IsLocked()

bool UE::FSharedRecursiveMutex::IsLocked ( ) const
inline

◆ IsLockShared()

bool UE::FSharedRecursiveMutex::IsLockShared ( ) const
inline

◆ Lock()

void UE::FSharedRecursiveMutex::Lock ( )

◆ LockShared()

void UE::FSharedRecursiveMutex::LockShared ( Core::Private::FSharedRecursiveMutexLink Link)

◆ operator=()

FSharedRecursiveMutex & UE::FSharedRecursiveMutex::operator= ( const FSharedRecursiveMutex )
delete

◆ TryLock()

bool UE::FSharedRecursiveMutex::TryLock ( )

◆ TryLockShared()

bool UE::FSharedRecursiveMutex::TryLockShared ( Core::Private::FSharedRecursiveMutexLink Link)

◆ Unlock()

void UE::FSharedRecursiveMutex::Unlock ( )

◆ UnlockShared()

void UE::FSharedRecursiveMutex::UnlockShared ( Core::Private::FSharedRecursiveMutexLink Link)

The documentation for this class was generated from the following files: