共用方式為


AsyncCrossProcessMutex 類別

定義

可以異步輸入的 Mutex。

public class AsyncCrossProcessMutex : IDisposable
type AsyncCrossProcessMutex = class
    interface IDisposable
Public Class AsyncCrossProcessMutex
Implements IDisposable
繼承
AsyncCrossProcessMutex
實作

範例

using AsyncCrossProcessMutex mutex = new (“Some-Unique Name”) ;使用 (await mutex。EnterAsync () ) { / Code,該程式代碼不得與相同具名 mutex 保護的任何其他線程或進程平行執行。 }

備註

這個類別會利用OS Mutex同步處理基本類型,其基本上是線程親和性,而且需要同步封鎖將擁有 mutex 的線程。 這讓原生 Mutex 不適合在異步方法中使用,其中進入 mutex 的線程可能不是結束它的相同線程。 這個類別可藉由使用私人專用線程來輸入和釋放 mutex 來解決該問題,但否則可讓擁有者執行異步程式代碼、切換線程等。

建構函式

AsyncCrossProcessMutex(String)

初始化 AsyncCrossProcessMutex 類別的新執行個體。

屬性

Name

取得 mutex 的名稱。

方法

Dispose()

處置基礎原生物件。

EnterAsync()

以異步方式取得 mutex。

EnterAsync(TimeSpan)

以異步方式取得 mutex。

TryEnterAsync(TimeSpan)

以異步方式取得 Mutex,允許逾時而不擲回例外狀況。

適用於