Edit

Share via


SpinLockExtensions.Enter Method

Definition

Overloads

Enter(SpinLock*)

Enters a specified SpinLock instance and returns a wrapper to use to release the lock. This extension should be used though a using block or statement:

SpinLock spinLock = new SpinLock();

using (SpinLockExtensions.Enter(&spinLock))
{
    // Thread-safe code here...
}

The compiler will take care of releasing the SpinLock when the code goes out of that using scope.

Enter(Object, SpinLock)

Enter(SpinLock*)

Enters a specified SpinLock instance and returns a wrapper to use to release the lock. This extension should be used though a using block or statement:

SpinLock spinLock = new SpinLock();

using (SpinLockExtensions.Enter(&spinLock))
{
    // Thread-safe code here...
}

The compiler will take care of releasing the SpinLock when the code goes out of that using scope.

public static CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock Enter (System.Threading.SpinLock* spinLock);
static member Enter : nativeptr<System.Threading.SpinLock> -> CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock

Parameters

spinLock
SpinLock*

A pointer to the target SpinLock to use

Returns

A wrapper type that will release spinLock when its Dispose() method is called.

Remarks

The returned SpinLockExtensions.UnsafeLock value shouldn't be used directly: use this extension in a using block or statement.

Applies to

Enter(Object, SpinLock)

public static CommunityToolkit.HighPerformance.SpinLockExtensions.Lock Enter (object owner, ref System.Threading.SpinLock spinLock);
static member Enter : obj * SpinLock -> CommunityToolkit.HighPerformance.SpinLockExtensions.Lock
Public Shared Function Enter (owner As Object, ByRef spinLock As SpinLock) As SpinLockExtensions.Lock

Parameters

owner
Object
spinLock
SpinLock

Returns

Applies to