AsyncCrossProcessMutex Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |