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

# Interface IReaderWriterLocker

> `System.IDisposable`

###### **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 interface IReaderWriterLocker
```

## Methods

### AcquireWriteLock

```csharp
IDisposable AcquireWriteLock(string objectKey)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.String` | *objectKey* |  |

##### Returns

### AcquireReadLock

```csharp
IDisposable AcquireReadLock(string objectKey)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.String` | *objectKey* |  |

##### Returns

`System.IDisposable`

### AcquireWriteLockAsync

```csharp
Task<IDisposable> AcquireWriteLockAsync(string objectKey)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.String` | *objectKey* |  |

##### Returns

`System.Threading.Tasks.Task<System.IDisposable>`

### AcquireReadLockAsync

```csharp
Task<IDisposable> AcquireReadLockAsync(string objectKey)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.String` | *objectKey* |  |

##### Returns

`System.Threading.Tasks.Task<System.IDisposable>`
