# AsyncSerialExecutor

Package: [Microsoft.Orleans.Core](/orleans/docs/api/csharp/microsoft.orleans.core/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Core) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core/Async/AsyncSerialExecutor.cs#L112)

```csharp
public class AsyncSerialExecutor
```

A utility class that provides serial execution of async functions. In can be used inside reentrant grain code to execute some methods in a non-reentrant (serial) way.

## Constructors

- [AsyncSerialExecutor](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.asyncserialexecutor/constructors/constructor-dae4d4f5/)

## Methods

- [AddNext(Func&lt;Task&gt;)](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.asyncserialexecutor/methods/addnext-system-func-system-threading-tasks-task-e787bdda/)
