我有一个线程服务器应用程序存储List<Item> dataList
. 有一个写入线程可以修改、添加和删除列表中的项目,并且有多个线程从这个列表中读取。
需要什么样的同步来确保写入按调用顺序发生并为读取提供最大性能,即如果写入繁忙,读取必须只提供读取之前的先前值。
我目前使用ReaderWriterLockSlim
它单独的读取和写入锁定功能,但感觉好像调用 ReadLocks 有很多昂贵的开销,这是不必要的,因为我想要的只是保证按顺序写入?
据我了解,阅读引用类型和值类型应该提供原子访问,因此可能不需要锁定?
性能是一个大问题,我的同步结构的优化似乎可以提高很多。