Bagikan melalui


Microsoft.VisualStudio.Threading Ruang nama

Namespace Layanan Microsoft.VisualStudio.Threading berisi API untuk digunakan dalam proyek Visual Studio SDK. Anda harus menggunakan API ini untuk pemrograman asinkron di Visual Studio. Melakukannya membantu Anda menghindari kebuntuan

Pustaka ini didasarkan pada Pustaka Paralel Tugas (TPL) .NET Framework. Untuk informasi tentang pustaka ini, lihat Pustaka Paralel Tugas (TPL).

Kelas

AsyncAutoResetEvent

Implementasi asinkron dari AutoResetEvent.

AsyncBarrier

Penghalang asinkron yang memblokir signaler sampai semua peserta lain telah memberi sinyal.

AsyncCountdownEvent

Peristiwa hitung mundur gaya asinkron.

AsyncCrossProcessMutex

Mutex yang dapat dimasukkan secara asinkron.

AsyncLazy<T>

Pabrik nilai yang aman, malas, dan asinkron dievaluasi.

AsyncLazyInitializer

Dengan malas mengeksekusi delegasi yang memiliki beberapa efek samping (biasanya menginisialisasi sesuatu) sehingga delegasi berjalan paling banyak sekali.

AsyncLocal<T>

Menyimpan referensi sehingga tersedia untuk diambil dalam konteks panggilan yang sama.

AsyncManualResetEvent

Rasa ManualResetEvent yang dapat ditunggu secara asinkron.

AsyncQueue<T>

Antrean yang aman dan tidak dapat diantrekan secara asinkron.

AsyncReaderWriterLock

Kunci non-pemblokiran yang memungkinkan akses bersamaan, akses eksklusif, atau bersamaan dengan peningkatan ke akses eksklusif.

AsyncReaderWriterLock.Awaiter

Mengelola akses asinkron ke kunci.

AsyncReaderWriterResourceLock<TMoniker,TResource>

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.

AsyncSemaphore

Kelas seperti asinkron SemaphoreSlim dengan sintaks rilis yang lebih nyaman.

AwaitExtensions

Metode ekstensi dan yang dapat ditunggu untuk .NET 4.5.

CancellationTokenExtensions

Ekstensi ke CancellationToken.

DelegatingJoinableTaskFactory

Kelas dasar JoinableTaskFactory untuk jenis turunan yang mendelegasikan beberapa pekerjaan mereka ke instans yang ada.

DispatcherExtensions

Metode ekstensi untuk WPF Dispatcher untuk interop yang lebih baik dengan JoinableTaskFactory.

HangReportContribution

Kontribusi ke laporan hang agregat.

IllegalSemaphoreUsageException

Pengecualian yang dilemparkan ketika kontrak ReentrantSemaphore dilanggar.

JoinableTask

Melacak operasi asinkron dan menyediakan kemampuan untuk Bergabung dengan operasi tersebut untuk menghindari kebuntuan sambil secara sinkron memblokir utas Utama untuk penyelesaian operasi.

JoinableTask<T>

Melacak operasi asinkron dan menyediakan kemampuan untuk Bergabung dengan operasi tersebut untuk menghindari kebuntuan sambil secara sinkron memblokir utas Utama untuk penyelesaian operasi.

JoinableTaskCollection

Kumpulan objek yang tidak lengkap JoinableTask .

JoinableTaskContext

Konteks umum di mana tugas yang dapat digabungkan dapat dibuat dan berinteraksi untuk menghindari kebuntuan.

JoinableTaskContext.HangDetails

Kelas untuk merangkum detail kemungkinan macet. Instans kelas ini JoinableTaskContext.HangDetails akan diteruskan ke JoinableTaskContextNode instans yang mendaftarkan pemberitahuan hang.

JoinableTaskContextException

Pengecualian yang dilemparkan ketika konfigurasi yang diberikan ke JoinableTaskContext salah atau metode virtual ditimpa sehingga melanggar kontrak. Pengecualian ini tidak boleh ditangkap. Ini dilemparkan ketika aplikasi memiliki kesalahan pemrograman.

JoinableTaskContextNode

Sumber JoinableTaskFactory instans yang dapat disesuaikan.

JoinableTaskFactory

Pabrik untuk memulai tugas asinkron yang dapat mengurangi kebuntuan ketika tugas memerlukan utas Utama aplikasi dan utas Utama mungkin memblokir penyelesaian tugas.

NoMessagePumpSyncContext

SynchronizationContext yang secara sinkron memblokir metode Tunggu tidak mengizinkan reentrancy melalui pompa pesan.

NonConcurrentSynchronizationContext

SynchronizationContext yang menjalankan pesan dalam urutan diterima.

ProgressWithCompletion<T>

Mekanisme pelaporan kemajuan inkremental yang juga memungkinkan asinkron menunggu semua laporan diproses.

ReentrantSemaphore

Semafor JoinableTaskFactoryyang sadar yang memungkinkan reentransi tanpa mengonsumsi slot lain di semaphore.

SemaphoreFaultedException

Pengecualian dilemparkan ketika ReentrantSemaphore dalam keadaan rusak.

SingleThreadedSynchronizationContext

Konteks sinkronisasi utas tunggal, mirip dengan DispatcherSynchronizationContext dan WindowsFormsSynchronizationContext.

SingleThreadedSynchronizationContext.Frame

Bingkai pemompaan pesan yang mungkin didorong dengan PushFrame(SingleThreadedSynchronizationContext+Frame) untuk memompa pesan pada utas pemilik.

ThreadingTools

Metode utilitas untuk bekerja di seluruh utas.

TplExtensions

Ekstensi ke Pustaka Paralel Tugas.

Struct

AsyncCrossProcessMutex.LockReleaser

Nilai yang dikembalikan dari EnterAsync(TimeSpan) yang harus dibuang untuk merilis mutex.

AsyncLazy<T>.RevertRelevance

Struktur yang menyembunyikan relevansi blok kode dari tertentu AsyncLazy<T> dan JoinableTaskContext dibuat dengannya.

AsyncReaderWriterLock.Awaitable

Yang dapat ditunggu yang dikembalikan dari permintaan kunci asinkron.

AsyncReaderWriterLock.LockHandle

Representasi "publik" dari kunci tertentu.

AsyncReaderWriterLock.Releaser

Nilai yang pembuangannya melepaskan kunci yang ditahan.

AsyncReaderWriterLock.Suppression

Nilai yang pembuangannya memulihkan visibilitas kunci apa pun yang dipegang oleh pemanggil.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaitable

Yang dapat ditunggu yang dikembalikan dari permintaan kunci asinkron.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaiter

Mengelola akses asinkron ke kunci.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceReleaser

Nilai yang pembuangannya melepaskan kunci yang ditahan.

AsyncSemaphore.Releaser

Nilai yang pembuangannya memicu pelepasan kunci.

AwaitExtensions.AggregateExceptionAwaitable

Hasil untuk ConfigureAwaitForAggregateException(Task, Boolean) menyiapkan yang Task akan ditunggu sambil melempar dengan semua pengecualian dalam.

AwaitExtensions.AggregateExceptionAwaiter

Hasil untuk GetAwaiter() menyiapkan yang Task akan ditunggu sambil melempar dengan semua pengecualian dalam.

AwaitExtensions.ConfiguredTaskYieldAwaitable

Yang dapat ditunggu yang akan selalu mengarahkan metode asinkron panggilan untuk menghasilkan, kemudian segera melanjutkan, mungkin pada aslinya SynchronizationContext.

AwaitExtensions.ConfiguredTaskYieldAwaiter

Sebuah awaiter yang akan selalu memimpin metode asinkron panggilan untuk menghasilkan, kemudian segera melanjutkan, mungkin pada aslinya SynchronizationContext.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable

Tugas yang dapat ditunggu yang memiliki afinitas untuk menjalankan panggilan balik secara sinkron pada tumpukan panggilan yang selesai.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable<T>

Tugas yang dapat ditunggu yang memiliki afinitas untuk menjalankan panggilan balik secara sinkron pada tumpukan panggilan yang selesai.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter

Pengawas Tugas yang memiliki afinitas untuk menjalankan panggilan balik secara sinkron pada tumpukan panggilan yang selesai.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter<T>

Pengawas Tugas yang memiliki afinitas untuk menjalankan panggilan balik secara sinkron pada tumpukan panggilan yang selesai.

AwaitExtensions.SynchronizationContextAwaiter

Sebuah awaiter kembali dari GetAwaiter(SynchronizationContext).

AwaitExtensions.TaskSchedulerAwaitable

Yang dapat ditunggu yang menjalankan kelanjutan pada penjadwal tugas yang ditentukan.

AwaitExtensions.TaskSchedulerAwaiter

Sebuah awaiter kembali dari GetAwaiter(TaskScheduler).

CancellationTokenExtensions.CombinedCancellationToken

Menyediakan akses ke yang CancellationToken menggabungkan beberapa token lain, dan memungkinkan pembuangan yang nyaman dari setiap yang berlaku CancellationTokenSource.

JoinableTaskCollection.JoinRelease

Nilai yang pembuangannya membatalkan Join() operasi.

JoinableTaskContext.RevertRelevance

Struktur yang menghapus statis CallContext dan SynchronizationContext async/thread dan memulihkan nilai tersebut saat struktur ini dibuang.

JoinableTaskFactory.MainThreadAwaitable

Struktur yang dapat ditunggu yang memfasilitasi transisi asinkron ke utas Utama.

JoinableTaskFactory.MainThreadAwaiter

Struct awaiter yang memfasilitasi transisi asinkron ke utas Utama.

JoinableTaskInternals.JoinableTaskToken

Namespace Layanan Microsoft.VisualStudio.Threading berisi API untuk digunakan dalam proyek Visual Studio SDK. Anda harus menggunakan API ini untuk pemrograman asinkron di Visual Studio. Melakukannya membantu Anda menghindari kebuntuan

Pustaka ini didasarkan pada Pustaka Paralel Tugas (TPL) .NET Framework. Untuk informasi tentang pustaka ini, lihat Pustaka Paralel Tugas (TPL).

ReentrantSemaphore.RevertRelevance

Struktur yang menyembunyikan bukti apa pun bahwa penelepon telah memasukkan ReentrantSemaphore sampai nilai ini dibuang.

SpecializedSyncContext

Struktur yang menerapkan dan mengembalikan perubahan ke SynchronizationContext.

TplExtensions.NoThrowTaskAwaitable

Yang dapat ditunggu yang membungkus tugas dan tidak pernah melemparkan pengecualian ketika ditunggu.

TplExtensions.NoThrowTaskAwaiter

Sebuah awaiter yang membungkus tugas dan tidak pernah melempar pengecualian ketika ditunggu.

TplExtensions.NoThrowValueTaskAwaitable

Yang dapat ditunggu yang membungkus tugas dan tidak pernah melemparkan pengecualian ketika ditunggu.

TplExtensions.NoThrowValueTaskAwaitable<TResult>

Yang dapat ditunggu yang membungkus ValueTask<TResult> dan tidak pernah melempar pengecualian ketika menunggu.

TplExtensions.NoThrowValueTaskAwaiter

Sebuah awaiter yang membungkus tugas dan tidak pernah melempar pengecualian ketika ditunggu.

TplExtensions.NoThrowValueTaskAwaiter<TResult>

Sebuah awaiter yang membungkus tugas dan tidak pernah melempar pengecualian ketika ditunggu.

Antarmuka

IAsyncDisposable

Mendefinisikan metode asinkron untuk merilis sumber daya yang dialokasikan.

IHangReportContributor

Menyediakan fasilitas untuk menghasilkan laporan yang mungkin berguna saat menganalisis macet.

Enum

AsyncReaderWriterLock.LockFlags

Bendera yang mengubah perilaku kunci default.

AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags

Bendera yang mengubah perilaku kunci default.

JoinableTaskCreationOptions

Menentukan bendera yang mengontrol perilaku opsional untuk pembuatan dan eksekusi tugas.

ReentrantSemaphore.ReentrancyMode

Menjelaskan cara-cara ReentrantSemaphore mungkin bersifat ketika permintaan semaphore dibuat dalam konteks yang sudah ada di semaphore.

RegistryChangeNotificationFilters

Berbagai jenis data dalam kunci registri yang menghasilkan pemberitahuan saat diubah.

Delegasikan

AsyncEventHandler

Penanganan aktivitas asinkron.

AsyncEventHandler<TEventArgs>

Penanganan aktivitas asinkron.