NeoSmart.AsyncLock (nuget): A C# lock replacement for async/await, supporting recursion/re-entrance and asynchronous waits. Handles async recursion correctly - note that Nito.AsyncEx does not!
Keywords: asynclock|async|await|lock|synchronization