AcquireAccessAsync(IThreadAware, ObjectAccessLevel)
Asynchronously acquires access for a given object.
Declaration
public static ConcurrentAccessAwaiter AcquireAccessAsync(this IThreadAware instance, ObjectAccessLevel objectAccessLevel)
Parameters
Type | Name | Description |
---|---|---|
IThreadAware | instance | The instance for which access is required. |
ObjectAccessLevel | objectAccessLevel | The level of access required. |
Returns
Type | Description |
---|---|
ConcurrentAccessAwaiter | An ConcurrentAccessAwaiter object that can be used for awaiting for access. |
Remarks
This method is guaranteed to acquire the controller of the instance
object. Invoking the AcquireAccessAsync(ObjectAccessLevel)
method directly does not offer this guarantee, as the controller can be changed between the moment the ConcurrencyController property
is retrieved and the moment the AcquireAccessAsync(ObjectAccessLevel) is invoked.