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

# Class LimitedConcurrencyLevelTaskScheduler

> **Inheritance:** `System.Object` -> `System.Threading.Tasks.TaskScheduler` -> LimitedConcurrencyLevelTaskScheduler

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

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

```csharp title="Syntax"
public class LimitedConcurrencyLevelTaskScheduler : TaskScheduler
```

## Inherited Members

* `System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext`
* `System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)`
* `System.Threading.Tasks.TaskScheduler.Default`
* `System.Threading.Tasks.TaskScheduler.Current`
* `System.Threading.Tasks.TaskScheduler.Id`
* `System.Threading.Tasks.TaskScheduler.UnobservedTaskException`
* `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

### LimitedConcurrencyLevelTaskScheduler

```csharp
public LimitedConcurrencyLevelTaskScheduler(int maxDegreeOfParallelism)
```

## Properties

### MaximumConcurrencyLevel

```csharp
public sealed override int MaximumConcurrencyLevel { get; }
```

## Methods

### QueueTask

```csharp
protected sealed override void QueueTask(Task task)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Threading.Tasks.Task` | *task* |  |

##### Overrides

* `System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)`

### TryExecuteTaskInline

```csharp
protected sealed override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Threading.Tasks.Task` | *task* |  |
| `System.Boolean` | *taskWasPreviouslyQueued* |  |

##### Returns

`System.Boolean`

##### Overrides

* `System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)`

### TryDequeue

```csharp
protected sealed override bool TryDequeue(Task task)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Threading.Tasks.Task` | *task* |  |

##### Returns

`System.Boolean`

##### Overrides

* `System.Threading.Tasks.TaskScheduler.TryDequeue(System.Threading.Tasks.Task)`

### GetScheduledTasks

```csharp
protected sealed override IEnumerable<Task> GetScheduledTasks()
```

##### Returns

`System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task>`

##### Overrides

* `System.Threading.Tasks.TaskScheduler.GetScheduledTasks`
