This test demonstrates that AsyncLock does not provide mutual exclusion:
https://dotnetfiddle.net/Tz38lN
Actually that test has been a challenge for every single async lock I currently know of, so I made my own async lock that passes. I'm not trying to plug for my own stuff on your GitHub, I'm just trying to show that it is possible and offer some direction toward a fix. Let me know if you'd like to discuss how my async lock works.
This test demonstrates that
AsyncLockdoes not provide mutual exclusion:https://dotnetfiddle.net/Tz38lN
Actually that test has been a challenge for every single async lock I currently know of, so I made my own async lock that passes. I'm not trying to plug for my own stuff on your GitHub, I'm just trying to show that it is possible and offer some direction toward a fix. Let me know if you'd like to discuss how my async lock works.