Joe Duffy 关于ReaderWriterLockSlim的文章并没有让我充满信心!
在 Orcas 中引入新的 ReaderWriterLockSlim
锁对异步异常(例如线程中止和内存不足)不可靠。如果其中一种发生在锁定方法之一的中间,则锁定状态可能会损坏,从而导致随后的死锁、未处理的异常,并且(可悲的是)由于内部使用自旋锁而导致 100% 的 CPU 挂钩。
如何在 ASP.NET 中安全地使用 ReaderWriterLockSlim?
Joe Duffy 关于ReaderWriterLockSlim的文章并没有让我充满信心!
在 Orcas 中引入新的 ReaderWriterLockSlim
锁对异步异常(例如线程中止和内存不足)不可靠。如果其中一种发生在锁定方法之一的中间,则锁定状态可能会损坏,从而导致随后的死锁、未处理的异常,并且(可悲的是)由于内部使用自旋锁而导致 100% 的 CPU 挂钩。
如何在 ASP.NET 中安全地使用 ReaderWriterLockSlim?
您的 ASP.NET 应用程序是否经常遇到线程中止(来自其他线程)或试图生存OutOfMemoryException
?如果不是,我看不出这个帖子太令人担忧了……如果是,我认为你有更大的问题。
特别要注意这一点:
然而,新锁有一些缺点,可能会导致编写托管或低级可靠性敏感代码的程序员等待采用它。不要误会我的意思,大多数人真的不需要担心这些话题,所以如果我的警告的话把你吓跑了,我很抱歉:但那些确实需要被告知事态的人。
现在是的,ASP.NET 是“托管的”,但它不像 SQL Server CLR 托管那么严重。我认为你不必担心。