读写锁
写锁会阻塞读、写。
读锁不阻塞读。
写频率低,读高频率。
应用场景1:
一次性写锁,多处读。
线程序-N,读取内存的数据,必须等待线程1加载完成后才能操作。
应用场景2:
线程1修改内存数据
线程序-N,读取内存的数据,必须等待线程1修改完成后才能操作。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace WindowsFormsApplication1
{
public class ReadWriteLockSample
{
/// <summary>
/// 帐户余额
/// </summary>
private decimal banlanceMoney = 0;
private static ReaderWriterLock _readWriteLock = new ReaderWriterLock();
private const int TIMEOUT = 30000;//30s timeout
public ReadWriteLockSample()
{
LoadFromDatabase();
}
private void LoadFromDataba