Interface IBareAsyncLock
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
Methods
BarelyLockAsync()
Asynchronously acquires the lock and returns the protected non-null object.
Declaration
Task<object> BarelyLockAsync()
Returns
Type | Description |
---|---|
Task<System.Object> | The protected non-null object. |
Exceptions
Type | Condition |
---|---|
LockException |
BarelyLockAsync(CancellationToken)
Asynchronously acquires the lock and returns the protected non-null object.
Declaration
Task<object> BarelyLockAsync(CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<System.Object> | The protected non-null object. |
Exceptions
Type | Condition |
---|---|
LockException |
BarelyTryLock(out Nullable<Object>)
Tries to acquire the lock. It returns true
and the protected non-null object if the lock is acquired.
Declaration
bool BarelyTryLock(out object? value)
Parameters
Type | Name | Description |
---|---|---|
System.Nullable<System.Object> | value | The protected non-null object if the lock is acquired, otherwise, |
Returns
Type | Description |
---|---|
System.Boolean |
|
Exceptions
Type | Condition |
---|---|
LockException |
BarelyUnlock()
Releases the lock.
Declaration
void BarelyUnlock()
Exceptions
Type | Condition |
---|---|
UnlockException |