ReaderWriterLock.DowngradeFromWriterLock : ReaderWriterLock « System.Threading « C# / C Sharp by API





ReaderWriterLock.DowngradeFromWriterLock

  
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime;
using System.Runtime.CompilerServices;
using System.Security;
using System.Text;
using System.Threading;

public class MainClass
{
    
    public static void Main()
    {
       ReaderWriterLock rwLock = new ReaderWriterLock();

        rwLock.AcquireReaderLock(250);
        if (!rwLock.IsReaderLockHeld)
           return;

        Console.WriteLine("Reader lock held");
        
        LockCookie cookie = rwLock.UpgradeToWriterLock(250);
        if (rwLock.IsWriterLockHeld)
        {
            Console.WriteLine("Upgraded to writer lock");
            rwLock.DowngradeFromWriterLock(ref cookie);
        }

        rwLock.ReleaseReaderLock();

    }
}

   
    
  










Related examples in the same category

1.ReaderWriterLock.AcquireWriterLock
2.ReaderWriterLock.IsReaderLockHeld
3.ReaderWriterLock.IsWriterLockHeld
4.ReaderWriterLock.ReleaseReaderLock()