CSharpTest.Net
Read(Int32) Method
See Also  Example Send Feedback Download Help File
CSharpTest.Net.Library Assembly > CSharpTest.Net.Synchronization Namespace > DebugLocking Class > Read Method : Read(Int32) Method

timeout

Glossary Item Box

Returns a reader lock that can be elevated to a write lock

Syntax

Visual Basic (Declaration) 
Public Overloads Function Read( _
   ByVal timeout As Integer _
) As ReadLock
C# 
public ReadLock Read( 
   int timeout
)

Parameters

timeout

Exceptions

ExceptionDescription
System.TimeoutExceptionThe exception that is thrown when the time allotted for a process or operation has expired.

Example

Library/Library.Test/LockingTests/TestDebugLocking.cs

C#Copy Code
using (DebugLocking<SimpleReadWriteLocking> l = new DebugLocking<SimpleReadWriteLocking>(
    false, 0, 1, false, 1))
{
    Assert.IsFalse(l.CaptureStack);

    Assert.AreEqual(0, l.CurrentReaderCount);
    Assert.AreEqual(0, l.LocalReaderCount);
    Assert.AreEqual(0, l.MaxReaderCount);

    using (l.Read())
    {
        Assert.AreEqual(1, l.CurrentReaderCount);
        Assert.AreEqual(1, l.LocalReaderCount);
        using (l.Read(0))
        {
            Assert.AreEqual(2, l.CurrentReaderCount);
            Assert.AreEqual(2, l.LocalReaderCount);
        }
    }

    Assert.AreEqual(0, l.CurrentReaderCount);
    Assert.AreEqual(0, l.LocalReaderCount);
    Assert.AreEqual(2, l.MaxReaderCount);
}
VB.NETCopy Code
Using l As New DebugLocking(Of SimpleReadWriteLocking)(False, 0, 1, False, 1)
    Assert.IsFalse(l.CaptureStack)

    Assert.AreEqual(0, l.CurrentReaderCount)
    Assert.AreEqual(0, l.LocalReaderCount)
    Assert.AreEqual(0, l.MaxReaderCount)

    Using l.Read()
        Assert.AreEqual(1, l.CurrentReaderCount)
        Assert.AreEqual(1, l.LocalReaderCount)
        Using l.Read(0)
            Assert.AreEqual(2, l.CurrentReaderCount)
            Assert.AreEqual(2, l.LocalReaderCount)
        End Using
    End Using

    Assert.AreEqual(0, l.CurrentReaderCount)
    Assert.AreEqual(0, l.LocalReaderCount)
    Assert.AreEqual(2, l.MaxReaderCount)
End Using

Requirements

Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7

See Also

Generated with Document! X 2011 by Innovasys