【发布时间】:2018-11-16 22:37:35
【问题描述】:
在他的回答中,https://stackoverflow.com/a/19664437/4919475
斯蒂芬·克利里提到
ReaderWriterLockSlim 是线程仿射锁类型,所以它通常 不能与 async 和 await 一起使用。
他所说的“通常”是什么意思?什么时候可以使用ReaderWriterLockSlim?
另外,我在这里看到http://joeduffyblog.com/2007/02/07/introducing-the-new-readerwriterlockslim-in-orcas/ ReaderWriterLockSlim 有不同的怪癖,但这篇文章是从 2007 年开始的。从那以后有变化吗?
【问题讨论】:
-
嗯,跨 await 持有 RWL 锁是一种非常糟糕的做法。实际上几乎没有人这样做,如果你不小心弄错了,运行时异常会警告你。
标签: c# asynchronous locking