CSharpTest.Net
MutexLock Constructor(Mutex)
See Also  Example Send Feedback Download Help File
CSharpTest.Net.Library Assembly > CSharpTest.Net.Synchronization Namespace > MutexLock Class > MutexLock Constructor : MutexLock Constructor(Mutex)

mutex

Glossary Item Box

Locks the provided mutex

Syntax

Visual Basic (Declaration) 
Public Function New( _
   ByVal mutex As Mutex _
)
C# 
public MutexLock( 
   Mutex mutex
)

Parameters

mutex

Example

Library/Library.Test/LockingTests/TestMutexLock.cs

C#Copy Code
using (Mutex mtx = new Mutex())
{
    Thread t = new Thread(
        delegate()
        { GC.KeepAlive(new MutexLock(1, mtx)); }
        );
    t.Start();
    t.Join();

    //So the previous thread abandoned the mutex...
    using (MutexLock lck = new MutexLock(mtx))
    {
        Assert.IsTrue(lck.WasAbandonded);
        Assert.AreEqual(mtx, lck.MutexHandle);
    }
}
VB.NETCopy Code
Using mtx As New Mutex()
    Dim t As New Thread(Function() Do
        GC.KeepAlive(New MutexLock(1, mtx))
    End Function)
    t.Start()
    t.Join()

    'So the previous thread abandoned the mutex...
    Using lck As New MutexLock(mtx)
        Assert.IsTrue(lck.WasAbandonded)
        Assert.AreEqual(mtx, lck.MutexHandle)
    End Using
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