【发布时间】:2010-01-21 16:47:31
【问题描述】:
在 .NET 中是否有任何可用的 Hashtable 实现以最少的锁定提供线程安全?还是可以移植到 .NET 的另一种语言?
我们正在寻找介于使用带有 lock() 的 BCL Dictionary 类和 memcached 或 Velocity 等分布式缓存应用程序之间的东西。
预期用途是用于具有数千个读取器的缓存,它们根据键(数字或 guid,我们尚未决定哪个)读取不可变的值。作家会少得多,可能只有一个。
【问题讨论】:
-
请定义“线程安全”的含义。参看。 blogs.msdn.com/ericlippert/archive/2009/10/19/…
-
描述您的使用场景也可能会有所帮助。您是要混合插入/查找/删除,还是要以某种方式将它们组合在一起?是要从多个线程访问所有操作,还是只访问某些线程?
标签: c# .net multithreading data-structures locking