读写锁对于性能的影响是明显的。
下面测试代码:
- public class Program {
- static private ReaderWriterLockSlim rwl = new ReaderWriterLockSlim(); static void Main(string[] args)
- { Stopwatch sw = new Stopwatch();
- sw.Start(); List<Task> lstTask = new List<Task>();
- for (int i = 0; i < 500; i++) {
- if (i % 25 != 0) {
- var t = Task.Factory.StartNew(ReadSomething); lstTask.Add(t);
- } else
- { var t = Task.Factory.StartNew(WriteSomething);
- lstTask.Add(t); }
- } Task.WaitAll(lstTask.ToArray());
- sw.Stop(); Console.WriteLine("使用ReaderWriterLockSlim方式,耗时:" + sw.Elapsed);
- sw.Restart(); lstTask = new List<Task>();
- for (int i = 0; i < 500; i++) {










