Interface IBareAsyncLock<T>
This interface provides abstraction of synchronization. It also allows its protected object to be accessed only after a synchronization begins.
Various asynchronous operations are supported. The protected object is non-null.
Namespace: InSync
Assembly: InSync.dll
Syntax
public interface IBareAsyncLock<T> : IBareAsyncLock where T : class
Type Parameters
Name | Description |
---|---|
T | The type of the protected object. |
Methods
BarelyLockAsync()
Asynchronously acquires the lock and returns the protected non-null value.
Declaration
Task<T> BarelyLockAsync()
Returns
Type | Description |
---|---|
Task<T> | The protected non-null value. |
Exceptions
Type | Condition |
---|---|
LockException |
BarelyLockAsync(CancellationToken)
Asynchronously acquires the lock and returns the protected non-null value.
Declaration
Task<T> BarelyLockAsync(CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<T> | The protected non-null value. |
Exceptions
Type | Condition |
---|---|
LockException |
BarelyTryLock(out T)
Tries to acquire the lock. It returns true
and the protected non-null value if the lock is acquired.
Declaration
bool BarelyTryLock(out T value)
Parameters
Type | Name | Description |
---|---|---|
T | value | The protected non-null value if the lock is acquired, otherwise, |
Returns
Type | Description |
---|---|
System.Boolean |
|
Exceptions
Type | Condition |
---|---|
LockException |