Parameters
- timeout
Library/Library.Test/LockingTests/TestReservedWriteLocking.cs
C# | Copy Code |
---|---|
using (ILockStrategy l = LockFactory.Create()) { Assert.AreEqual(0, l.WriteVersion); Assert.IsTrue(l.TryRead(0)); l.ReleaseRead(); Assert.AreEqual(0, l.WriteVersion); Assert.IsTrue(l.TryWrite(0)); Assert.AreEqual(0, l.WriteVersion); l.ReleaseWrite(); Assert.AreEqual(0, l.WriteVersion); using (l.Write()) { Assert.AreEqual(0, l.WriteVersion); Assert.IsTrue(l.TryWrite(0)); // Once a nested write lock is acquired the real lock is obtained. Assert.AreEqual(1, l.WriteVersion); l.ReleaseWrite(); Assert.AreEqual(1, l.WriteVersion); } Assert.IsTrue(l.TryWrite(0)); l.ReleaseWrite(); Assert.AreEqual(1, l.WriteVersion); } |
VB.NET | Copy Code |
---|---|
Using l As ILockStrategy = LockFactory.Create() Assert.AreEqual(0, l.WriteVersion) Assert.IsTrue(l.TryRead(0)) l.ReleaseRead() Assert.AreEqual(0, l.WriteVersion) Assert.IsTrue(l.TryWrite(0)) Assert.AreEqual(0, l.WriteVersion) l.ReleaseWrite() Assert.AreEqual(0, l.WriteVersion) Using l.Write() Assert.AreEqual(0, l.WriteVersion) Assert.IsTrue(l.TryWrite(0)) ' Once a nested write lock is acquired the real lock is obtained. Assert.AreEqual(1, l.WriteVersion) l.ReleaseWrite() Assert.AreEqual(1, l.WriteVersion) End Using Assert.IsTrue(l.TryWrite(0)) l.ReleaseWrite() Assert.AreEqual(1, l.WriteVersion) End Using |
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7