SpinLock.Enter(Boolean) SpinLock.Enter(Boolean) SpinLock.Enter(Boolean) SpinLock.Enter(Boolean) Method

Definizione

Acquisisce il blocco in modo affidabile, in modo tale che anche se si verifica un'eccezione all'interno della chiamata al metodo, è possibile esaminare l'oggetto lockTaken in maniera affidabile per determinare se il blocco è stato acquisito.Acquires the lock in a reliable manner, such that even if an exception occurs within the method call, lockTaken can be examined reliably to determine whether the lock was acquired.

public:
 void Enter(bool % lockTaken);
public void Enter (ref bool lockTaken);
member this.Enter :  -> unit
Public Sub Enter (ByRef lockTaken As Boolean)

Parametri

lockTaken
Boolean Boolean Boolean Boolean

True se il blocco è stato acquisito. In caso contrario, False.True if the lock is acquired; otherwise, false. Prima di chiamare questo metodo è necessario inizializzare lockTaken su False.lockTaken must be initialized to false prior to calling this method.

Eccezioni

È necessario inizializzare l'argomento lockTaken su False prima della chiamata a Enter.The lockTaken argument must be initialized to false prior to calling Enter.

Il rilevamento della proprietà dei thread è abilitato e il thread corrente ha già acquisito questo blocco.Thread ownership tracking is enabled, and the current thread has already acquired this lock.

Commenti

SpinLockè un blocco non rientrante, vale a dire che se un thread è in possesso del blocco, non è consentito immettere di nuovo il blocco.SpinLock is a non-reentrant lock, meaning that if a thread holds the lock, it is not allowed to enter the lock again. Se il rilevamento della proprietà del thread è abilitato (se è abilitato è IsThreadOwnerTrackingEnableddisponibile tramite), verrà generata un'eccezione quando un thread tenta di immettere nuovamente un blocco già presente.If thread ownership tracking is enabled (whether it's enabled is available through IsThreadOwnerTrackingEnabled), an exception will be thrown when a thread tries to re-enter a lock it already holds. Tuttavia, se il rilevamento della proprietà dei thread è disabilitato, il tentativo di immettere un blocco già mantenuto comporterà un deadlock.However, if thread ownership tracking is disabled, attempting to enter a lock already held will result in deadlock.

Se si chiama Exit senza avere prima chiamato Enter SpinLock lo stato interno di, può diventare danneggiato.If you call Exit without having first called Enter the internal state of the SpinLock can become corrupted.

Si applica a

Vedi anche