Edit

Share via


SpinLock(Boolean) Constructor

Definition

Initializes a new instance of the SpinLock structure with the option to track thread IDs to improve debugging.

public:
 SpinLock(bool enableThreadOwnerTracking);
public SpinLock (bool enableThreadOwnerTracking);
new System.Threading.SpinLock : bool -> System.Threading.SpinLock
Public Sub New (enableThreadOwnerTracking As Boolean)

Parameters

enableThreadOwnerTracking
Boolean

Whether to capture and use thread IDs for debugging purposes.

Examples

The following example demonstrates how a SpinLock may be used.

// C#  
public class MyType  
{  
    private SpinLock _spinLock = new SpinLock();  

    public void DoWork()  
    {  
        bool lockTaken = false;   
        try  
        {  
           _spinLock.Enter(ref lockTaken);  
           // do work here protected by the lock  
        }  
        finally  
        {  
            if (lockTaken) _spinLock.Exit();  
        }  
    }  
}  
' Visual Basic  

Class MyType  
   Private _spinLock As New SpinLock()  

   Public Sub DoWork()  
      Dim lockTaken As Boolean = False  
      Try  
         _spinLock.Enter(lockTaken)  
         ' do work here protected by the lock  
      Finally  
         If lockTaken Then _spinLock.Exit()  
      End Try  
   End Sub  
End Class  

Remarks

The parameterless constructor for SpinLock tracks thread ownership.

Applies to

See also