Langue

ReentrantReadWriteLock.ReentrantWriteLock.LockInterruptibly Méthode

Définition

Acquiert le verrou d’écriture, sauf si le thread actuel est interrompu par thread#interruption.

[Android.Runtime.Register("lockInterruptibly", "()V", "GetLockInterruptiblyHandler")]
public virtual void LockInterruptibly();
[<Android.Runtime.Register("lockInterruptibly", "()V", "GetLockInterruptiblyHandler")>]
abstract member LockInterruptibly : unit -> unit
override this.LockInterruptibly : unit -> unit

Implémente

Attributs

Exceptions

si le thread actuel est interrompu

Remarques

Acquiert le verrou d’écriture, sauf si le thread actuel est interrompu par thread#interruption.

Acquiert le verrou d’écriture si ni le verrou de lecture ni de verrouillage d’écriture ne sont conservés par un autre thread et retourne immédiatement, en définissant le nombre d’attente de verrou d’écriture sur un.

Si le thread actuel contient déjà ce verrou, le nombre de conservations est incrémenté par un et la méthode retourne immédiatement.

Si le verrou est conservé par un autre thread, le thread actuel devient désactivé à des fins de planification de threads et se trouve dormant jusqu’à ce que l’une des deux choses se produisent :

<ul>

<li>Le verrou d’écriture est acquis par le thread actuel ; ou

<Li>Un autre thread thread#interruption interrompt le thread actuel.

</ul>

Si le verrou d’écriture est acquis par le thread actuel, le nombre de blocages de verrou est défini sur un.

Si le thread actuel :

<ul>

<li>a son état interrompu défini lors de l’entrée à cette méthode ; ou

<li>is Thread#interruption lors de l’acquisition du verrou d’écriture,

</ul>

est ensuite InterruptedException levée et l’état interrompu du thread actuel est effacé.

Dans cette implémentation, étant donné que cette méthode est un point d’interruption explicite, la préférence est donnée pour répondre à l’interruption par rapport à l’acquisition normale ou reentrante du verrou.

Java documentation pour java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock.lockInterruptibly().

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à