Exemple #1
0
 void WithAtomicRef_ReaderEntry()
 {
     for (var i = 0; i < NumIterations; ++i)
     {
         var curUser = _atomicUser.Value;
         BenchmarkUtils.Assert(curUser.Name == _usernames[curUser.LoginID]);
         BenchmarkUtils.SimulateContention(ContentionLevel);
     }
 }
Exemple #2
0
 void WithStandardLock_ReaderEntry()
 {
     for (var i = 0; i < NumIterations; ++i)
     {
         User curUser;
         lock (_lockObject) curUser = _standardLockUser;
         BenchmarkUtils.Assert(curUser.Name == _usernames[curUser.LoginID]);
         BenchmarkUtils.SimulateContention(ContentionLevel);
     }
 }
Exemple #3
0
 void WithRWLS_ReaderEntry()
 {
     for (var i = 0; i < NumIterations; ++i)
     {
         _rwls.EnterReadLock();
         var curUser = _rwlsUser;
         _rwls.ExitReadLock();
         BenchmarkUtils.Assert(curUser.Name == _usernames[curUser.LoginID]);
         BenchmarkUtils.SimulateContention(ContentionLevel);
     }
 }