Dil

AsyncCrossProcessMutex Sınıf

Tanım

Zaman uyumsuz olarak girilebilen bir mutex.

public class AsyncCrossProcessMutex : IDisposable
type AsyncCrossProcessMutex = class
    interface IDisposable
Public Class AsyncCrossProcessMutex
Implements IDisposable
Devralma
AsyncCrossProcessMutex
Uygulamalar

Örnekler

using AsyncCrossProcessMutex mutex = new("Some-Unique Name"); using (await mutex. EnterAsync()) { // Aynı adlı mutex tarafından korunan başka bir iş parçacığı veya işlemle paralel olarak yürütülmemesi gereken kod. }

Açıklamalar

Bu sınıf, temel olarak iş parçacığı affinitized olan ve mutex'e sahip olacak iş parçacığının zaman uyumlu bir şekilde engellenmesini gerektiren işletim sistemi mutex eşitleme temel öğesini kullanır. Bu, yerel bir mutex'i zaman uyumsuz yöntemlerde kullanmak için uygun hale getirir; burada mutex'e giren iş parçacığı, bu işlemden çıkan iş parçacığıyla aynı olmayabilir. Bu sınıf, mutex'e girmek ve serbest bırakmak için özel bir ayrılmış iş parçacığı kullanarak bu sorunu çözer, ancak aksi takdirde sahibinin zaman uyumsuz kod yürütmesine, iş parçacıklarını değiştirmesine izin verir.

Oluşturucular

Name Description
AsyncCrossProcessMutex(String)

AsyncCrossProcessMutex sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
Name

Mutex adını alır.

Yöntemler

Name Description
Dispose()

Temel alınan yerel nesneleri atılır.

EnterAsync()

Mutex'i zaman uyumsuz olarak alır.

EnterAsync(TimeSpan)

Mutex'i zaman uyumsuz olarak alır.

TryEnterAsync(TimeSpan)

Mutex'i zaman uyumsuz olarak alır ve özel durumlar oluşturmadan zaman aşımlarına izin verir.

Şunlara uygulanır