AsyncCrossProcessMutex 类

定义

可以异步输入的互斥体。

public class AsyncCrossProcessMutex : IDisposable
type AsyncCrossProcessMutex = class
    interface IDisposable
Public Class AsyncCrossProcessMutex
Implements IDisposable
继承
AsyncCrossProcessMutex
实现

示例

using AsyncCrossProcessMutex mutex = new (“Some-Unique Name”) ;using (await mutex。EnterAsync () ) { // 不得与受同一命名互斥体保护的任何其他线程或进程并行执行的代码。 }

注解

此类利用 OS 互斥同步基元,该基元本质上是线程关联,需要同步阻止将拥有互斥体的线程。 这使得本机互斥体不适合在异步方法中使用,其中进入 mutex 的线程可能不是退出它的线程。 此类通过使用专用线程进入和释放互斥体来解决该问题,但允许其所有者执行异步代码、切换线程等。

构造函数

AsyncCrossProcessMutex(String)

初始化 AsyncCrossProcessMutex 类的新实例。

属性

Name

获取互斥体的名称。

方法

Dispose()

释放基础本机对象。

EnterAsync()

异步获取互斥体。

EnterAsync(TimeSpan)

异步获取互斥体。

TryEnterAsync(TimeSpan)

异步获取互斥体,允许在不引发异常的情况下超时。

适用于