Navigation
API > API/Runtime > API/Runtime/Core
Implements a scope lock using TryLock.
This is a utility class that handles scope level locking using TryLock. Scope locking helps to avoid programming errors by which a lock is acquired and never released.
` { // Try to acquire a lock on CriticalSection for the current scope. FScopeTryLock ScopeTryLock(CriticalSection); // Check that the lock was acquired. if (ScopeTryLock.IsLocked()) { // If the lock was acquired, we can safely access resources protected // by the lock. } // When ScopeTryLock goes out of scope, the critical section will be // released if it was ever acquired. } _
| Name | FScopeTryLock |
| Type | class |
| Header File | /Engine/Source/Runtime/Core/Public/Misc/ScopeTryLock.h |
| Include Path | #include "Misc/ScopeTryLock.h" |
Syntax
class FScopeTryLock : private UE::TScopeTryLock< FCriticalSection >
Inheritance Hierarchy
- TScopeTryLock → FScopeTryLock
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FScopeTryLock
(
TNotNull< FCriticalSection* > InCriticalSection |
Constructor that tries to lock the critical section. | Misc/ScopeTryLock.h |