AsyncReaderWriterResourceLock<TMoniker,TResource> 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.
Kunci non-pemblokiran yang memungkinkan akses bersamaan, akses eksklusif, atau bersamaan dengan peningkatan ke akses eksklusif, membuat jatah khusus untuk sumber daya yang harus disiapkan untuk akses bersamaan atau eksklusif.
generic <typename TMoniker, typename TResource>
where TResource : classpublic ref class AsyncReaderWriterResourceLock abstract : Microsoft::VisualStudio::Threading::AsyncReaderWriterLock
public abstract class AsyncReaderWriterResourceLock<TMoniker,TResource> : Microsoft.VisualStudio.Threading.AsyncReaderWriterLock where TResource : class
type AsyncReaderWriterResourceLock<'Moniker, 'Resource (requires 'Resource : null)> = class
inherit AsyncReaderWriterLock
Public MustInherit Class AsyncReaderWriterResourceLock(Of TMoniker, TResource)
Inherits AsyncReaderWriterLock
Jenis parameter
- TMoniker
Jenis moniker yang mengidentifikasi sumber daya.
- TResource
Jenis sumber daya yang dikeluarkan untuk akses oleh kunci ini.
- Warisan
Konstruktor
| AsyncReaderWriterResourceLock<TMoniker,TResource>() |
Menginisialisasi instans baru kelas AsyncReaderWriterResourceLock<TMoniker,TResource>. |
| AsyncReaderWriterResourceLock<TMoniker,TResource>(Boolean) |
Menginisialisasi instans baru kelas AsyncReaderWriterResourceLock<TMoniker,TResource>. |
| AsyncReaderWriterResourceLock<TMoniker,TResource>(JoinableTaskContext, Boolean) |
Menginisialisasi instans baru kelas AsyncReaderWriterResourceLock<TMoniker,TResource>. |
Properti
| AmbientLock |
Mendapatkan kunci yang dipegang oleh konteks eksekusi pemanggil. (Diperoleh dari AsyncReaderWriterLock) |
| CanCurrentThreadHoldActiveLock |
Mendapatkan nilai yang menunjukkan apakah utas saat ini diizinkan untuk menahan kunci aktif. (Diperoleh dari AsyncReaderWriterLock) |
| CaptureDiagnostics |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah sumber daya tambahan harus dihabiskan untuk mengumpulkan informasi yang akan berguna dalam mendiagnosis kebuntuan, dll. (Diperoleh dari AsyncReaderWriterLock) |
| Completion |
Mendapatkan tugas yang penyelesaiannya menandakan bahwa kunci ini tidak akan lagi mengeluarkan kunci. (Diperoleh dari AsyncReaderWriterLock) |
| DeadlockCheckTimeout |
Mendapatkan penundaan waktu untuk memeriksa apakah kunci penulis yang tertunda dan kunci pembaca membentuk kebuntuan. (Diperoleh dari AsyncReaderWriterLock) |
| IsAnyLockHeld |
Mendapatkan nilai yang menunjukkan apakah segala jenis kunci dipegang oleh pemanggil dan dapat segera digunakan mengingat konteks pemanggil. (Diperoleh dari AsyncReaderWriterLock) |
| IsAnyPassiveLockHeld |
Mendapatkan nilai yang menunjukkan apakah segala jenis kunci dipegang oleh pemanggil tanpa memperhatikan kompatibilitas kunci konteks pemanggil. (Diperoleh dari AsyncReaderWriterLock) |
| IsPassiveReadLockHeld |
Mendapatkan nilai yang menunjukkan apakah kunci baca dipegang oleh penelepon tanpa memperhatikan kompatibilitas kunci konteks pemanggil. (Diperoleh dari AsyncReaderWriterLock) |
| IsPassiveUpgradeableReadLockHeld |
Mendapatkan nilai yang menunjukkan apakah kunci baca yang dapat ditingkatkan dipegang oleh pemanggil tanpa memperhatikan kompatibilitas kunci konteks pemanggil. (Diperoleh dari AsyncReaderWriterLock) |
| IsPassiveWriteLockHeld |
Mendapatkan nilai yang menunjukkan apakah kunci tulis dipegang oleh penelepon tanpa memperhatikan kompatibilitas kunci konteks pemanggil. (Diperoleh dari AsyncReaderWriterLock) |
| IsReadLockHeld |
Mendapatkan nilai yang menunjukkan apakah penelepon memegang kunci baca. (Diperoleh dari AsyncReaderWriterLock) |
| IsUnsupportedSynchronizationContext |
Mendapatkan nilai yang menunjukkan apakah SynchronizationContext saat ini adalah nilai yang tidak didukung oleh kunci ini. (Diperoleh dari AsyncReaderWriterLock) |
| IsUpgradeableReadLockHeld |
Mendapatkan nilai yang menunjukkan apakah penelepon memegang kunci baca yang dapat ditingkatkan. (Diperoleh dari AsyncReaderWriterLock) |
| IsWriteLockHeld |
Mendapatkan nilai yang menunjukkan apakah penelepon memegang kunci tulis. (Diperoleh dari AsyncReaderWriterLock) |
| NoMessagePumpSynchronizationContext |
SynchronizationContext Mendapatkan yang, ketika diterapkan, menekan pompa pesan apa pun yang dapat berjalan selama blok sinkron dari utas panggilan. (Diperoleh dari AsyncReaderWriterLock) |
| SyncObject |
Mendapatkan objek yang digunakan untuk menyinkronkan akses ke bidang instans ini. (Diperoleh dari AsyncReaderWriterLock) |
Metode
| Complete() |
Menyebabkan permintaan kunci tingkat atas baru ditolak dan Completion tugas untuk beralih ke status selesai setelah kunci yang dikeluarkan telah dirilis. (Diperoleh dari AsyncReaderWriterLock) |
| Dispose() |
Kunci non-pemblokiran yang memungkinkan akses bersamaan, akses eksklusif, atau bersamaan dengan peningkatan ke akses eksklusif, membuat jatah khusus untuk sumber daya yang harus disiapkan untuk akses bersamaan atau eksklusif. (Diperoleh dari AsyncReaderWriterLock) |
| Dispose(Boolean) |
Buang sumber daya terkelola dan tidak terkelola yang dipegang oleh instans ini. (Diperoleh dari AsyncReaderWriterLock) |
| GetAggregateLockFlags() |
Mengembalikan agregat bendera kunci untuk semua kunci berlapis. |
| GetHangReport() |
Berkontribusi data untuk laporan macet. (Diperoleh dari AsyncReaderWriterLock) |
| GetResourceAsync(TMoniker, CancellationToken) |
Mengambil sumber daya dengan moniker yang ditentukan. |
| GetTaskSchedulerForReadLockRequest() |
Dapatkan penjadwal tugas untuk menjalankan kelanjutan ketika kunci diperoleh. AsyncReaderWriterLock menggunakan khusus SynchronizationContext untuk menangani kunci eksklusif, dan akan mengabaikan penjadwal tugas yang disediakan, sehingga ini hanya digunakan dalam skenario kunci baca. Metode ini dipanggil dalam konteks eksekusi untuk menunggu kunci baca, sehingga dapat mengambil TaskScheduler berdasarkan konteks eksekusi saat ini. Catatan: penjadwal tugas hanya digunakan, ketika kunci dikeluarkan nanti. Jika kunci dikeluarkan segera ketika CanCurrentThreadHoldActiveLock mengembalikan true, kunci akan diabaikan. (Diperoleh dari AsyncReaderWriterLock) |
| GetTaskSchedulerToPrepareResourcesForConcurrentAccess(TResource) |
Mendapatkan penjadwal tugas untuk menyiapkan sumber daya untuk akses bersamaan. |
| HideLocks() |
Mencegah penggunaan atau visibilitas kunci pemanggil hingga nilai yang dikembalikan dibuang. (Diperoleh dari AsyncReaderWriterLock) |
| LockStackContains(AsyncReaderWriterLock+LockFlags, AsyncReaderWriterLock+LockHandle) |
Memeriksa apakah bendera agregat dari semua kunci di tumpukan kunci memenuhi bendera yang ditentukan. (Diperoleh dari AsyncReaderWriterLock) |
| OnBeforeExclusiveLockReleasedAsync() |
Diaktifkan ketika kunci tulis terakhir akan dilepaskan. (Diperoleh dari AsyncReaderWriterLock) |
| OnBeforeLockReleasedAsync(Boolean, AsyncReaderWriterLock+LockHandle) |
Diaktifkan saat kunci apa pun dilepaskan. (Diperoleh dari AsyncReaderWriterLock) |
| OnBeforeWriteLockReleased(Func<Task>) |
Mendaftarkan panggilan balik yang akan dipanggil ketika kunci tulis yang dipegang oleh penelepon pada akhirnya akan dirilis (kunci tulis terluar). (Diperoleh dari AsyncReaderWriterLock) |
| OnCriticalFailure(Exception) |
Dipanggil ketika kunci mendeteksi kesalahan internal atau pola penggunaan ilegal yang menunjukkan kelemahan serius yang harus segera dilaporkan ke aplikasi dan/atau menurunkan proses untuk menghindari hang atau kerusakan data. (Diperoleh dari AsyncReaderWriterLock) |
| OnCriticalFailure(String) |
Dipanggil ketika kunci mendeteksi kesalahan internal atau pola penggunaan ilegal yang menunjukkan kelemahan serius yang harus segera dilaporkan ke aplikasi dan/atau menurunkan proses untuk menghindari hang atau kerusakan data. (Diperoleh dari AsyncReaderWriterLock) |
| OnExclusiveLockReleasedAsync() |
Dipanggil setelah kunci eksklusif dilepaskan tetapi sebelum ada yang memiliki kesempatan untuk memasukkan kunci. |
| OnUpgradeableReadLockReleased() |
Dipanggil ketika kunci baca yang dapat ditingkatkan tingkat atas dilepaskan, tidak meninggalkan kunci (tulis) yang tersisa. |
| PrepareResourceForConcurrentAccessAsync(TResource, CancellationToken) |
Menyiapkan sumber daya untuk akses bersamaan. |
| PrepareResourceForExclusiveAccessAsync(TResource, AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken) |
Menyiapkan sumber daya untuk akses dengan satu utas. |
| ReadLockAsync(CancellationToken) |
Mendapatkan kunci baca, secara asinkron menunggu kunci jika tidak segera tersedia. |
| SetAllResourcesToUnknownState() |
Mengatur semua sumber daya yang akan dipertimbangkan dalam keadaan tidak diketahui. |
| SetResourceAsAccessed(Func<TResource,Object,Boolean>, Object) |
Menandai sumber daya yang dimuat sebagai telah diambil di bawah kunci jika memenuhi beberapa predikat. |
| SetResourceAsAccessed(TResource) |
Menandai sumber daya sebagai telah diambil di bawah kunci. |
| UpgradeableReadLockAsync(AsyncReaderWriterLock+LockFlags, CancellationToken) |
Mendapatkan kunci baca, secara asinkron menunggu kunci jika tidak segera tersedia. (Diperoleh dari AsyncReaderWriterLock) |
| UpgradeableReadLockAsync(AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken) |
Mendapatkan kunci baca, secara asinkron menunggu kunci jika tidak segera tersedia. |
| UpgradeableReadLockAsync(CancellationToken) |
Mendapatkan kunci baca yang dapat ditingkatkan, secara asinkron menunggu kunci jika tidak segera tersedia. |
| WriteLockAsync(AsyncReaderWriterLock+LockFlags, CancellationToken) |
Mendapatkan kunci tulis, secara asinkron menunggu kunci jika tidak segera tersedia. (Diperoleh dari AsyncReaderWriterLock) |
| WriteLockAsync(AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags, CancellationToken) |
Mendapatkan kunci tulis, secara asinkron menunggu kunci jika tidak segera tersedia. |
| WriteLockAsync(CancellationToken) |
Mendapatkan kunci tulis, secara asinkron menunggu kunci jika tidak segera tersedia. |
Implementasi Antarmuka Eksplisit
| IHangReportContributor.GetHangReport() |
Berkontribusi data untuk laporan macet. (Diperoleh dari AsyncReaderWriterLock) |
Berlaku untuk
Keamanan Thread
Jenis ini aman untuk semua anggota.