SemaphoreSlim locking based on a key

This page summarizes the projects mentioned and recommended in the original post on /r/dotnet

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • 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.

  • 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. I have written a library called `AsyncKeyedLock` at https://github.com/MarkCiliaVincenti/AsyncKeyedLock to tackle this common problem. I had previously posted about it at https://www.reddit.com/r/dotnet/comments/y742i7/keyed_semaphore_locks/ and took a lot of feedback on board and completely rewritten it.

  • OpenWeatherMap.Cache

    An asynchronous .NET Standard 2.0 library that allows you to fetch & cache current weather readings from the OpenWeather API, with built-in resiliency that can extend the cache lifetime in case the API is unreachable.

  • It doesn't need to be related to finance or databases. Could be related to physical file access, doing operations on UDP packets received, limiting API requests (eg trying to get weather for a location concurrently doesn't make sense, so wait for the result of the ongoing one and provide the result to the second one, that's what I'm using in https://github.com/MarkCiliaVincenti/OpenWeatherMap.Cache). I'm sure you can be creative and think of plenty of other use cases.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • synchronization

    A collection of async-friendly synchronization objects for .NET and .NET Core

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • AsyncKeyedLock: a library for locking based on a key

    3 projects | /r/csharp | 13 Feb 2023
  • Async/Multi Thread Design Question

    1 project | /r/csharp | 19 Jan 2023
  • Keyed semaphore locks

    8 projects | /r/dotnet | 18 Oct 2022
  • Favorite weather app other than Geometric Weather?

    2 projects | /r/fossdroid | 22 Sep 2022
  • Trusted weather-reporting websites

    2 projects | /r/jordan | 19 Nov 2021