SpinLock(Boolean) Konstruktor
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menginisialisasi instans SpinLock baru struktur dengan opsi untuk melacak ID utas untuk meningkatkan penelusuran kesalahan.
public:
SpinLock(bool enableThreadOwnerTracking);
public SpinLock(bool enableThreadOwnerTracking);
new System.Threading.SpinLock : bool -> System.Threading.SpinLock
Public Sub New (enableThreadOwnerTracking As Boolean)
Parameter
- enableThreadOwnerTracking
- Boolean
Apakah akan mengambil dan menggunakan ID utas untuk tujuan penelusuran kesalahan.
Contoh
Contoh berikut menunjukkan bagaimana SpinLock dapat digunakan.
// 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
Keterangan
Konstruktor tanpa parameter untuk SpinLock melacak kepemilikan utas.