Bahasa

JoinableTaskFactory Kelas

Definisi

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

public ref class JoinableTaskFactory
[Windows::Foundation::Metadata::WebHostHidden]
class JoinableTaskFactory
public class JoinableTaskFactory
type JoinableTaskFactory = class
Public Class JoinableTaskFactory
Warisan
JoinableTaskFactory
Turunan

Keterangan

Untuk komentar yang lebih lengkap, silakan lihat JoinableTaskContext.

Konstruktor

Nama Deskripsi
JoinableTaskFactory(JoinableTaskCollection)

Menginisialisasi instans JoinableTaskFactory baru kelas yang menambahkan semua pekerjaan yang dihasilkan ke koleksi yang ditentukan.

JoinableTaskFactory(JoinableTaskContext)

Menginisialisasi instans baru dari kelas JoinableTaskFactory.

Properti

Nama Deskripsi
Context

Mendapatkan konteks tugas yang dapat digabungkan tempat pabrik ini berada.

HangDetectionTimeout

Mendapatkan atau mengatur batas waktu setelah itu tidak ada aktivitas saat pemblokiran sinkron menunjukkan hang telah terjadi.

UnderlyingSynchronizationContext

Mendapatkan yang mendasar SynchronizationContext yang mengontrol utas utama di host.

Metode

Nama Deskripsi
Add(JoinableTask)

Menambahkan tugas yang dapat digabungkan yang ditentukan ke koleksi yang berlaku.

DisableProcessing()

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

IsWaitingOnLongRunningTask()

Periksa apakah joinableTask saat ini sedang menunggu tugas yang berjalan lama.

OnTransitionedToMainThread(JoinableTask, Boolean)

Dinaikkan setiap kali tugas yang dapat digabungkan telah menyelesaikan transisi ke utas utama.

OnTransitioningToMainThread(JoinableTask)

Dimunculkan ketika tugas yang dapat digabungkan telah meminta transisi ke utas utama.

PostToUnderlyingSynchronizationContext(SendOrPostCallback, Object)

Memposting pesan ke SynchronizationContext yang mendasar yang ditentukan untuk diproses saat utas utama tersedia secara bebas.

Run(Func<Task>, JoinableTaskCreationOptions)

Menjalankan metode asinkron yang ditentukan ke penyelesaian sambil memblokir utas panggilan secara sinkron.

Run(Func<Task>)

Menjalankan metode asinkron yang ditentukan ke penyelesaian sambil memblokir utas panggilan secara sinkron.

Run<T>(Func<Task<T>>, JoinableTaskCreationOptions)

Menjalankan metode asinkron yang ditentukan ke penyelesaian sambil memblokir utas panggilan secara sinkron.

Run<T>(Func<Task<T>>)

Menjalankan metode asinkron yang ditentukan ke penyelesaian sambil memblokir utas panggilan secara sinkron.

RunAsync(Func<Task>, JoinableTaskCreationOptions)

Memanggil delegasi asinkron pada utas pemanggil, dan menghasilkan kembali ke pemanggil ketika metode asinkron menghasilkan. Delegasi asinkron dipanggil sedih untuk mengurangi kebuntuan jika metode asinkron memerlukan utas utama sementara utas utama diblokir menunggu penyelesaian metode asinkron.

RunAsync(Func<Task>, String, JoinableTaskCreationOptions)

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

RunAsync(Func<Task>)

Memanggil delegasi asinkron pada utas pemanggil, dan menghasilkan kembali ke pemanggil ketika metode asinkron menghasilkan. Delegasi asinkron dipanggil sedih untuk mengurangi kebuntuan jika metode asinkron memerlukan utas utama sementara utas utama diblokir menunggu penyelesaian metode asinkron.

RunAsync<T>(Func<Task<T>>, JoinableTaskCreationOptions)

Memanggil delegasi asinkron pada utas pemanggil, dan menghasilkan kembali ke pemanggil ketika metode asinkron menghasilkan. Delegasi asinkron dipanggil sedih untuk mengurangi kebuntuan jika metode asinkron memerlukan utas utama sementara utas utama diblokir menunggu penyelesaian metode asinkron.

RunAsync<T>(Func<Task<T>>, String, JoinableTaskCreationOptions)

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

RunAsync<T>(Func<Task<T>>)

Memanggil delegasi asinkron pada utas pemanggil, dan menghasilkan kembali ke pemanggil ketika metode asinkron menghasilkan. Delegasi asinkron dipanggil sedih untuk mengurangi kebuntuan jika metode asinkron memerlukan utas utama sementara utas utama diblokir menunggu penyelesaian metode asinkron.

SwitchToMainThreadAsync(Boolean, CancellationToken)

Mendapatkan yang dapat ditunggu yang kelanjutannya dijalankan pada konteks sinkronisasi yang diinisialisasi instans ini, sewaktu-waktu untuk mengurangi kebuntuan dan masuk kembali.

SwitchToMainThreadAsync(CancellationToken)

Mendapatkan yang dapat ditunggu yang kelanjutannya dijalankan pada utas utama, sewaktu-waktu untuk mengurangi kebuntuan dan masuk kembali.

WaitSynchronously(Task)

Secara sinkron memblokir alur panggilan untuk penyelesaian tugas yang ditentukan. Jika berjalan di utas utama, pompa pesan yang berlaku ditekan saat utas tidur.

WaitSynchronouslyCore(Task)

Secara sinkron memblokir alur panggilan untuk penyelesaian tugas yang ditentukan.

Metode Ekstensi

Nama Deskripsi
Run(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task>, Nullable<TimeSpan>)

Memblokir utas panggilan (UI) hingga operasi asinkron yang dapat dibatalkan selesai. Dialog tunggu yang dapat dibatalkan secara opsional ditampilkan jika operasi membutuhkan waktu terlalu lama.

Run(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task>, Nullable<TimeSpan>)

Memblokir utas panggilan (UI) hingga operasi asinkron selesai. Dialog tunggu yang dapat dibatalkan secara opsional ditampilkan jika operasi membutuhkan waktu terlalu lama.

Run(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task>, Nullable<TimeSpan>)

Memblokir utas panggilan (UI) hingga operasi asinkron selesai. Pembatalan ditawarkan kepada pengguna.

Run(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task>, Nullable<TimeSpan>)

Memblokir utas panggilan (UI) hingga operasi asinkron selesai. Tidak ada pembatalan yang ditawarkan kepada pengguna.

Run<T>(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task<T>>, Nullable<TimeSpan>)

Memblokir utas panggilan (UI) hingga operasi asinkron yang dapat dibatalkan selesai. Dialog tunggu yang dapat dibatalkan secara opsional ditampilkan jika operasi membutuhkan waktu terlalu lama.

Run<T>(JoinableTaskFactory, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task<T>>, Nullable<TimeSpan>)

Memblokir utas panggilan (UI) hingga operasi asinkron selesai. Dialog tunggu yang dapat dibatalkan secara opsional ditampilkan jika operasi membutuhkan waktu terlalu lama.

Run<T>(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,CancellationToken,Task<T>>, Nullable<TimeSpan>)

Memblokir utas panggilan (UI) hingga operasi asinkron selesai. Pembatalan ditawarkan kepada pengguna.

Run<T>(JoinableTaskFactory, String, String, Func<IProgress<ThreadedWaitDialogProgressData>,Task<T>>, Nullable<TimeSpan>)

Memblokir utas panggilan (UI) hingga operasi asinkron selesai. Tidak ada pembatalan yang ditawarkan kepada pengguna.

RunAsync(JoinableTaskFactory, VsTaskRunContext, Func<Task>)

Membungkus pemanggilan metode asinkron sehingga dapat dijalankan secara asinkron, tetapi mungkin berpotensi diselesaikan secara sinkron (ditunggu) di masa depan.

RunAsync<T>(JoinableTaskFactory, VsTaskRunContext, Func<Task<T>>)

Membungkus pemanggilan metode asinkron sehingga dapat dijalankan secara asinkron, tetapi mungkin berpotensi diselesaikan secara sinkron (ditunggu) di masa depan.

RunAsyncAsVsTask<T>(JoinableTaskFactory, VsTaskRunContext, Func<CancellationToken,Task<T>>)

Membuat IVsTask untuk melacak operasi asinkron yang dapat dibatalkan.

StartOnIdle(JoinableTaskFactory, Action, VsTaskRunContext)

Menjadwalkan delegasi untuk eksekusi latar belakang pada utas UI tanpa mewarisi klaim apa pun ke utas UI dari pemanggilnya.

StartOnIdle(JoinableTaskFactory, Func<Task>, VsTaskRunContext)

Menjadwalkan delegasi untuk eksekusi latar belakang pada utas UI tanpa mewarisi klaim apa pun ke utas UI dari pemanggilnya.

WithPriority(JoinableTaskFactory, Dispatcher, DispatcherPriority)

JoinableTaskFactory Membuat yang menjadwalkan pekerjaan dengan yang ditentukan Dispatcher dan DispatcherPriority.

WithPriority(JoinableTaskFactory, VsTaskRunContext)

JoinableTaskFactory Membuat yang menjadwalkan pekerjaan dengan prioritas utas UI Visual Studio yang ditentukan.

Berlaku untuk

Keamanan Thread

Jenis ini aman untuk semua anggota.