Exemplo n.º 1
0
        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
                }
            }
        }
Exemplo n.º 2
0
        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
                    }
                });
            }
        }