---
title: "Class AsyncReaderWriterLock | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Common.Threading/AsyncReaderWriterLock/"
---

# Class AsyncReaderWriterLock

> **Inheritance:** `System.Object` -> AsyncReaderWriterLock

###### **Namespace**: [Aurigma.DesignAtoms.Common.Threading](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Common.Threading.md)

###### **Assembly**: Aurigma.DesignAtoms.dll

```csharp title="Syntax"
public sealed class AsyncReaderWriterLock : IDisposable
```

## Implements

* `System.IDisposable`

## Inherited Members

* `System.Object.ToString`
* `System.Object.Equals(System.Object)`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### AsyncReaderWriterLock

```csharp
public AsyncReaderWriterLock()
```

## Methods

### AcquireWriterLock

```csharp
public Task AcquireWriterLock()
```

##### Returns

`System.Threading.Tasks.Task`

### AcquireWriterLock

```csharp
public Task AcquireWriterLock(CancellationToken token)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Threading.CancellationToken` | *token* |  |

##### Returns

`System.Threading.Tasks.Task`

### ReleaseWriterLock

```csharp
public void ReleaseWriterLock()
```

### AcquireReaderLock

```csharp
public Task AcquireReaderLock()
```

##### Returns

`System.Threading.Tasks.Task`

### AcquireReaderLock

```csharp
public Task AcquireReaderLock(CancellationToken token)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Threading.CancellationToken` | *token* |  |

##### Returns

`System.Threading.Tasks.Task`

### ReleaseReaderLock

```csharp
public void ReleaseReaderLock()
```

### Dispose

```csharp
public void Dispose()
```
