System.Threading.ReaderWriterLock.UpgradeToWriterLock C# (CSharp) Метод

UpgradeToWriterLock() публичный Метод

public UpgradeToWriterLock ( System.TimeSpan timeout ) : LockCookie
timeout System.TimeSpan
Результат LockCookie
        public LockCookie UpgradeToWriterLock(TimeSpan timeout) => UpgradeToWriterLock(ToTimeoutMilliseconds(timeout));

Same methods

ReaderWriterLock::UpgradeToWriterLock ( int millisecondsTimeout ) : LockCookie

Usage Example

Пример #1
0
 /// <summary>
 /// Executes a job on demand, rather than waiting for its regularly scheduled time.
 /// </summary>
 /// <param name="job">The job to be executed.</param>
 public static void ExecuteJob(JobBase job)
 {
     ReaderWriterLock rwLock = new ReaderWriterLock();
     try
     {
         rwLock.AcquireReaderLock(Timeout.Infinite);
         if (job.Executing == false)
         {
             LockCookie lockCookie = rwLock.UpgradeToWriterLock(Timeout.Infinite);
             try
             {
                 if (job.Executing == false)
                 {
                     job.Executing = true;
                     QueueJob(job);
                 }
             }
             finally
             {
                 rwLock.DowngradeFromWriterLock(ref lockCookie);
             }
         }
     }
     finally
     {
         rwLock.ReleaseReaderLock();
     }
 }
All Usage Examples Of System.Threading.ReaderWriterLock::UpgradeToWriterLock