public void TwoDictsShareALockWriteTest() { ILockStrategy ls = new ReaderWriterLockStrategy(); var d1 = new SharedList <string>(ls); var d2 = new SharedList <string>(ls); using (ISharedCollectionLock readLock = d1.GetReadLock()) { using (ISharedCollectionLock writeLock = d2.GetWriteLock()) { //do nothing } } }
public void TwoDictsShareALockWriteTest() { ILockStrategy ls = new ReaderWriterLockStrategy(); var d1 = new SharedList <string>(ls); var d2 = new SharedList <string>(ls); using (ISharedCollectionLock readLock = d1.GetReadLock()) { Assert.Throws <LockRecursionException>( () => { using (ISharedCollectionLock writeLock = d2.GetWriteLock()) { // do nothing } }); } }