일단 C#자체에서 ReaderWriterLock을 지원한다
class Reward
{
}
static ReaderWriterLockSlim _lock3 = new ReaderWriterLockSlim();
static Reward GetRewardById(int id)
{
// Read는 여러 쓰레드에서 가능하며
// Write는 한 쓰레드에서만 가능
_lock3.EnterReadLock();
_lock3.ExitReadLock();
}
static void AddReward(Reward reward)
{
_lock3.EnterWriteLock();
_lock3.ExitWriteLock();
}