Open markusschaber opened 5 years ago
Hi @markusschaber, thanks for logging this issue! I will try to create a NuGet packet for this project in the near future.
By the way, may I ask how you found this project and for what scenario you are using the async lock? Thanks!
I found this project while searching for async readerWriterLock alternatives for .NET Core... :-)
As far as I remember, it even was in the discussion of the AsyncEx bug reports where I found the pointer to your project...
We're currently using AsyncEx library (but only the ReaderWriterLockSlim implementation), and I found the bug report there about the almost-deadlocks with MinThreads... We also had that problem in one of our usecases, and solved it by increasing MinThreads on the Thread pool. We did not switch over to your implementation yet, due to the lack of NuGet packages.
Do describe the scenario: We're currently working on a server application, and we have one microservice which is responsible for communication with devices ("Programmable Logic Controllers"). In that microservice, I use RW-Locking for the meta data structures, as most accesses are read-only (it's rather rare that new devices appear or old devices are removed, compared to the Lookup itself...)
I would like to have NuGet package too. I'm using it for a certain HTTP server, which is restarted and reconfigured occasionally, so I need to read-lock all HTTP requests and write-lock the restart procedure.
Also, it would be great to be able to restrict concurrent readers count (HTTP server handles at most 16 concurrent connections). I'm using the separate SemaphoreSlim for this task now.
I can make a nuget. But under what name? Maybe just "AsyncReaderWriterLockSlim"? Or should i use the name "KPreisser.AsyncReaderWriterLockSlim"?
Done: https://www.nuget.org/packages/AsyncReaderWriterLockSlim
Hi,
Would you mind to provide a NuGet package?
Thanks for your great work!