An open API service indexing awesome lists of open source software.

https://github.com/soenneker/soenneker.asyncs.initializers

A lightweight, async-safe, allocation-free one-time initialization gate. Ensures a given asynchronous initialization routine runs exactly once, even under concurrent callers, with support for cancellation, safe publication, and disposal.
https://github.com/soenneker/soenneker.asyncs.initializers

async asyncinitializer asyncs csharp dotnet gate initialization initializers util

Last synced: 5 days ago
JSON representation

A lightweight, async-safe, allocation-free one-time initialization gate. Ensures a given asynchronous initialization routine runs exactly once, even under concurrent callers, with support for cancellation, safe publication, and disposal.

Awesome Lists containing this project

README

          

[![](https://img.shields.io/nuget/v/soenneker.asyncs.initializers.svg?style=for-the-badge)](https://www.nuget.org/packages/soenneker.asyncs.initializers/)
[![](https://img.shields.io/github/actions/workflow/status/soenneker/soenneker.asyncs.initializers/publish-package.yml?style=for-the-badge)](https://github.com/soenneker/soenneker.asyncs.initializers/actions/workflows/publish-package.yml)
[![](https://img.shields.io/nuget/dt/soenneker.asyncs.initializers.svg?style=for-the-badge)](https://www.nuget.org/packages/soenneker.asyncs.initializers/)
[![](https://img.shields.io/github/actions/workflow/status/soenneker/soenneker.asyncs.initializers/codeql.yml?label=CodeQL&style=for-the-badge)](https://github.com/soenneker/soenneker.asyncs.initializers/actions/workflows/codeql.yml)

# ![](https://user-images.githubusercontent.com/4441470/224455560-91ed3ee7-f510-4041-a8d2-3fc093025112.png) Soenneker.Asyncs.Initializers
### A lightweight, async-safe, allocation-free one-time initialization gate. Ensures a given asynchronous initialization routine runs exactly once, even under concurrent callers, with support for cancellation, safe publication, and disposal.

## Installation

```
dotnet add package Soenneker.Asyncs.Initializers
```