CoreDispatcher.RunIdleAsync(IdleDispatchedHandler) 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.
Menjadwalkan panggilan balik pada utas UI dari utas pekerja dengan prioritas menganggur, dan mengembalikan hasilnya secara asinkron.
public:
virtual IAsyncAction ^ RunIdleAsync(IdleDispatchedHandler ^ agileCallback) = RunIdleAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction RunIdleAsync(IdleDispatchedHandler const& agileCallback);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction RunIdleAsync(IdleDispatchedHandler agileCallback);
function runIdleAsync(agileCallback)
Public Function RunIdleAsync (agileCallback As IdleDispatchedHandler) As IAsyncAction
Parameter
- agileCallback
- IdleDispatchedHandler
Panggilan balik tempat dispatcher prioritas menganggur kembali saat peristiwa dikirim.
Mengembalikan
Objek yang berisi hasil tindakan asinkron.
- Atribut
Keterangan
Metode RunIdleAsync sangat mirip dengan CoreDispatcher.RunAsync, kecuali selalu menjadwalkan item kerja di CoreDispatcherPriority.Low priority. Saat Anda menjadwalkan item kerja dengan memanggil RunIdleAsync dari utas pekerja, item kerja hanya diproses ketika tidak ada pesan peristiwa yang tertunda dalam antrean. Ini memungkinkan aplikasi Anda untuk melakukan tugas seperti pemeriksaan ejaan atau pemrosesan diskrit lainnya saat sistem menganggur. Jika delegasi IdleDispatchedHandler yang dikembalikan oleh panggilan balik memiliki properti IsDispatcherIdle yang diatur ke false, item kerja segera keluar dari pemrosesan latar belakang hingga antrean peristiwa kosong lagi.
Namun, saat aplikasi Anda memproses tugas latar belakang, aplikasi dapat terus memproses selama tidak ada pesan peristiwa yang tertunda dalam antrean pesan peristiwa CoreDispatcher . Jika aplikasi Anda menerima pesan peristiwa dalam antrean, aplikasi harus keluar dari pemrosesan latar belakang. Untuk menentukan kapan aplikasi Anda harus keluar dari pemrosesan latar belakang, akses properti IsDispatcherIdle pada objek IdleDispatchedHandlerArgs yang dikembalikan oleh panggilan balik IdleDispatchedHandler yang Anda berikan ke RunIdleAsync. Jika ada pesan, keluar dari pemrosesan latar belakang dan atur prioritas ke CoreDispatcherPriority.Normal. Jika tidak, jika panggilan balik terus berjalan tanpa memeriksa status dispatcher, itu dapat menyebabkan kelaparan input.
Berlaku untuk
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk