AsyncKeyedLock 6.1.1
See the version list below for details.
dotnet add package AsyncKeyedLock --version 6.1.1
NuGet\Install-Package AsyncKeyedLock -Version 6.1.1
<PackageReference Include="AsyncKeyedLock" Version="6.1.1" />
paket add AsyncKeyedLock --version 6.1.1
#r "nuget: AsyncKeyedLock, 6.1.1"
// Install AsyncKeyedLock as a Cake Addin #addin nuget:?package=AsyncKeyedLock&version=6.1.1 // Install AsyncKeyedLock as a Cake Tool #tool nuget:?package=AsyncKeyedLock&version=6.1.1
AsyncKeyedLock
An asynchronous .NET Standard 2.0 library that allows you to lock based on a key (keyed semaphores), limiting concurrent threads sharing the same key to a specified number, with optional pooling for reducing memory allocations.
For example, suppose you were processing financial transactions, but while working on one account you wouldn't want to concurrently process a transaction for the same account. Of course, you could just add a normal lock, but then you can only process one transaction at a time. If you're processing a transaction for account A, you may want to also be processing a separate transaction for account B. That's where AsyncKeyedLock comes in: it allows you to lock but only if the key matches.
Installation and usage
The documentation can be found in our wiki.
Credits
Check out our list of contributors!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Threading.Tasks.Extensions (>= 4.5.4)
-
net5.0
- No dependencies.
NuGet packages (41)
Showing the top 5 NuGet packages that depend on AsyncKeyedLock:
Package | Downloads |
---|---|
EasyCaching.Core
EasyCaching is a open source caching library that contains basic usages and some advanced usages of caching which can help us to handle caching more easier! |
|
Volo.Abp.DistributedLocking.Abstractions
Package Description |
|
EFCoreSecondLevelCacheInterceptor
Entity Framework Core Second Level Caching Library. |
|
N3O.Umbraco.Extensions
TODO |
|
ZhileTime.Hope.DistributedLocking.Abstractions
Package Description |
GitHub repositories (14)
Showing the top 5 popular GitHub repositories that depend on AsyncKeyedLock:
Repository | Stars |
---|---|
jellyfin/jellyfin
The Free Software Media System
|
|
abpframework/abp
Open-source web application framework for ASP.NET Core! Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET. Provides the fundamental infrastructure, cross-cutting-concern implementations, startup templates, application modules, UI themes, tooling and documentation.
|
|
Tyrrrz/DiscordChatExporter
Exports Discord chat logs to a file
|
|
stefanprodan/AspNetCoreRateLimit
ASP.NET Core rate limiting middleware
|
|
microsoft/kiota
OpenAPI based HTTP Client code generator
|
Version | Downloads | Last updated | |
---|---|---|---|
7.1.3 | 14,795 | 11/10/2024 | |
7.0.2 | 53,643 | 10/13/2024 | |
7.0.1 | 168,617 | 8/20/2024 | |
7.0.0 | 89,312 | 7/21/2024 | |
7.0.0-rc3 | 122 | 7/20/2024 | |
7.0.0-rc2 | 118 | 7/20/2024 | |
7.0.0-rc1 | 146 | 6/29/2024 | |
7.0.0-beta | 121 | 6/29/2024 | |
7.0.0-alpha | 118 | 6/29/2024 | |
6.4.2 | 282,225 | 4/21/2024 | |
6.4.1 | 1,205 | 4/21/2024 | |
6.4.0 | 632 | 4/20/2024 | |
6.3.4 | 1,249,112 | 1/23/2024 | |
6.3.4-rc | 570 | 1/23/2024 | |
6.3.4-beta | 548 | 1/23/2024 | |
6.3.3 | 16,534 | 1/14/2024 | |
6.3.2 | 1,241 | 1/14/2024 | |
6.3.0 | 1,362 | 1/14/2024 | |
6.2.6 | 18,781 | 1/1/2024 | |
6.2.5 | 1,454 | 12/30/2023 | |
6.2.4 | 72,608 | 12/6/2023 | |
6.2.3 | 4,926 | 12/3/2023 | |
6.2.3-beta | 768 | 12/2/2023 | |
6.2.2 | 758,813 | 10/9/2023 | |
6.2.1 | 1,960,505 | 4/10/2023 | |
6.2.0 | 95,120 | 2/25/2023 | |
6.1.1 | 63,793 | 1/27/2023 | |
6.1.1-rc | 1,111 | 1/27/2023 | |
6.1.1-beta | 1,074 | 1/27/2023 | |
6.1.0 | 17,992 | 1/26/2023 | |
6.0.5 | 44,149 | 1/2/2023 | |
6.0.5-alpha | 1,088 | 12/30/2022 | |
6.0.4 | 2,580 | 12/30/2022 | |
6.0.4-rc6 | 1,074 | 12/30/2022 | |
6.0.4-rc5 | 1,108 | 12/30/2022 | |
6.0.4-rc3 | 1,076 | 12/30/2022 | |
6.0.4-rc | 1,041 | 12/29/2022 | |
6.0.4-beta | 1,095 | 12/29/2022 | |
6.0.4-alpha | 1,142 | 12/29/2022 | |
6.0.3 | 3,086 | 12/29/2022 | |
6.0.2 | 29,547 | 12/18/2022 | |
6.0.1 | 2,456 | 12/17/2022 | |
5.1.2 | 3,567 | 12/16/2022 | |
5.1.1 | 11,568 | 12/13/2022 | |
5.1.0 | 4,206 | 12/3/2022 | |
5.0.4 | 10,673 | 11/27/2022 | |
5.0.3 | 2,994 | 11/26/2022 | |
5.0.3-rc | 1,099 | 11/26/2022 | |
5.0.2-rc | 1,052 | 11/26/2022 | |
5.0.1 | 3,472 | 11/19/2022 | |
4.0.2 | 6,942 | 11/13/2022 | |
3.2.3 | 3,832 | 10/26/2022 | |
3.2.1 | 2,828 | 10/23/2022 | |
3.2.0 | 2,490 | 10/23/2022 | |
3.0.1 | 3,027 | 10/18/2022 | |
3.0.0 | 2,817 | 10/16/2022 | |
2.0.3 | 16,944 | 6/29/2022 | |
2.0.2 | 17,775 | 3/13/2022 | |
2.0.1 | 2,905 | 3/13/2022 | |
2.0.0 | 2,979 | 3/11/2022 | |
1.1.0 | 4,160 | 12/11/2021 | |
1.0.1 | 2,942 | 11/22/2021 | |
1.0.0 | 2,794 | 11/22/2021 |
Enabled deterministic build allowing you to step into and debug the code. Fixed an issue with PoolInitialFill being ignored. Moved documentation to GitHub wiki.