AsyncCrossProcessMutex 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
可以异步输入的互斥体。
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) |
异步获取互斥体,允许在不引发异常的情况下超时。 |