Bahasa

JoinableTaskFactory.DisableProcessing Metode

Definisi

Mencegah pompa pesan yang difilter berjalan selama penantian sinkron untuk sekitar JoinableTask.

public Microsoft.VisualStudio.Threading.JoinableTaskFactory.ProcessingDisabledOperation DisableProcessing();
member this.DisableProcessing : unit -> Microsoft.VisualStudio.Threading.JoinableTaskFactory.ProcessingDisabledOperation
Public Function DisableProcessing () As JoinableTaskFactory.ProcessingDisabledOperation

Mengembalikan

Nilai yang mungkin dibuang ketika kebutuhan untuk menekan pompa pesan tunggu sinkron berakhir. Atau mungkin dibuang jika sisanya JoinableTask dimaksudkan agar pemrosesan dinonaktifkan.

Pengecualian

Dilemparkan ketika dipanggil di luar konteks JoinableTask.

Contoh

Berikut adalah penggunaan sederhana dan umum dari metode ini:

Berikut ini adalah contoh selengkapnya tentang cara penggunaannya:

Keterangan

await Selama menghasilkan dalam JoinableTask, tidak ada pompa pesan yang pernah berjalan terlepas dari apakah metode ini dipanggil, kecuali untuk yang internal yang hanya memungkinkan pekerjaan yang relevan. Ketika kode pengguna berjalan dalam JoinableTask delegasi atau panggilannya yang akhirnya memerlukan blok sinkron dari utas utama (misalnya I/O sinkron atau pertikaian kunci), penantian ini biasanya diimplementasikan dengan memanggil Wait(IntPtr[], Boolean, Int32) .Current Implementasi default metode ini memungkinkan gangguan tertentu (e.g. COM panggilan RPC), yang dapat menghindari kebuntuan dalam situasi tertentu.

Memanggil metode ini akan menggantikan implementasi Wait(IntPtr[], Boolean, Int32) default dengan yang tidak akan memungkinkan gangguan seperti itu saat aktif JoinableTask dan mengendalikan Current. Karena metode ini dapat dipanggil beberapa kali, efek ini tetap pada target JoinableTask sampai semua DisableProcessing() nilai pengembalian pemanggilan dibuang (dalam urutan apa pun). Efek hanya berlaku untuk direct JoinableTask. Ini tidak mempengaruhi salah satu anak atau orang tuanya.

Menonaktifkan pemrosesan tidak berpengaruh pada sistem operasi non-Windows.

Membuang nilai yang dihasilkan akan kembali ke perilaku default. Penelepon tidak perlu membuang nilai ini jika niatnya adalah menonaktifkan pemrosesan selama sisa JoinableTaskeksekusi itu.

Berlaku untuk