SpinLock(Boolean) Constructor
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.