Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

ReaderWriterLock.ReleaseWriterLock méthode ()

 

Date de publication : novembre 2016

Décrémente le nombre de verrous sur le verrou de writer.

Espace de noms:   System.Threading
Assembly:  mscorlib (dans mscorlib.dll)

public void ReleaseWriterLock()

Exception Condition
ApplicationException

Le thread n’a pas le verrou de writer.

ReleaseWriterLock Décrémente le verrou de writer nombre. Lorsque le décompte atteint zéro, le verrou de writer est libéré.

System_CAPS_noteRemarque

Si un thread possède un verrou de lecteur ou aucun verrou, l’appel ReleaseWriterLock lève une ApplicationException.

L’exemple de code suivant montre comment acquérir et libérer un verrou de writer et comment gérer l’exception levée lorsqu’une demande arrive à expiration.

Ce code fait partie d'un exemple plus complet fourni pour la ReaderWriterLock classe.

// The complete code is located in the ReaderWriterLock class topic.
using System;
using System.Threading;

public class Example
{
   static ReaderWriterLock rwl = new ReaderWriterLock();
   // Define the shared resource protected by the ReaderWriterLock.
   static int resource = 0;
// Request and release the writer lock, and handle time-outs.
static void WriteToResource(int timeOut)
{
   try {
      rwl.AcquireWriterLock(timeOut);
      try {
         // It's safe for this thread to access from the shared resource.
         resource = rnd.Next(500);
         Display("writes resource value " + resource);
         Interlocked.Increment(ref writes);
      }
      finally {
         // Ensure that the lock is released.
         rwl.ReleaseWriterLock();
      }
   }
   catch (ApplicationException) {
      // The writer lock request timed out.
      Interlocked.Increment(ref writerTimeouts);
   }
}

.NET Framework
Disponible depuis 1.1
Retour au début
Afficher: