JoinableTaskFactory.DisableProcessing Metode
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.
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.