Bahasa

AsyncCrossProcessMutex Kelas

Definisi

Mutex yang dapat dimasukkan secara asinkron.

public class AsyncCrossProcessMutex : IDisposable
type AsyncCrossProcessMutex = class
    interface IDisposable
Public Class AsyncCrossProcessMutex
Implements IDisposable
Warisan
AsyncCrossProcessMutex
Penerapan

Contoh

menggunakan mutex AsyncCrossProcessMutex = new("Some-Unique Name"); menggunakan (tunggu mutex. EnterAsync()) { // Code yang tidak boleh dijalankan secara paralel dengan utas atau proses lain yang dilindungi oleh mutex bernama yang sama. }

Keterangan

Kelas ini menggunakan primitif sinkronisasi mutex OS, yang pada dasarnya didefinisikan utas dan memerlukan pemblokiran alur yang akan memiliki mutex secara sinkron. Ini membuat mutex asli tidak cocok untuk digunakan dalam metode asinkron, di mana utas yang memasuki mutex mungkin bukan utas yang sama yang keluar darinya. Kelas ini memecahkan masalah tersebut dengan menggunakan utas khusus privat untuk memasukkan dan melepaskan mutex, tetapi sebaliknya memungkinkan pemiliknya untuk menjalankan kode asinkron, beralih utas, dll.

Konstruktor

Nama Deskripsi
AsyncCrossProcessMutex(String)

Menginisialisasi instans baru dari kelas AsyncCrossProcessMutex.

Properti

Nama Deskripsi
Name

Mendapatkan nama mutex.

Metode

Nama Deskripsi
Dispose()

Membuang objek asli yang mendasar.

EnterAsync()

Memperoleh mutex secara asinkron.

EnterAsync(TimeSpan)

Memperoleh mutex secara asinkron.

TryEnterAsync(TimeSpan)

Memperoleh mutex secara asinkron, memungkinkan waktu habis tanpa melemparkan pengecualian.

Berlaku untuk