【发布时间】:2012-01-27 21:34:29
【问题描述】:
我的 ASP.NET 应用程序提供对各种数据块的访问。每个块都可以被一个或多个用户同时访问,因此应用程序必须防止冲突。
经过深思熟虑,我认为乐观并发并不是这种情况下的最佳解决方案,目前将锁定视为一个合适的选择。
我可以通过使用SyncLock 轻松地使所有请求一一处理,如下所示:
私有共享访问锁作为新对象
SyncLock AccessLock ..Do some reading and writing here End Synclock
但这极大地限制了应用程序的可扩展性。
所以我正在考虑以某种方式仅对特定数据部分的访问进行排队。例如。一个队列用于访问一部分数据,另一个队列用于访问另一部分数据。
有没有办法自定义同步锁定以对数据的不同部分使用不同的队列,而不是对所有内容只使用 1 个队列?我的意思是它可以让我手动指定诸如“SyncLock ("Group1") 和 "SyncLock ("Group2") 之类的内容。
【问题讨论】:
标签: .net synchronization conflict synclock