AsyncCrossProcessMutex 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
可以異步輸入的 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,允許逾時而不擲回例外狀況。 |