Kata kunci async
dan await
tidak akan membuat aplikasi Anda lebih responsif sendiri. Mereka hanya membuat panggilan dan penanganan metode yang mengembalikan Task
objek lebih nyaman. Untuk membuat async
/ await
benar-benar menggunakan utas latar belakang, Anda harus menggabungkan dengan penggunaan hal-hal seperti:
Task.Start()
- Mulai tugas yang diberikan menggunakan TaskScheduler
.
- PLINQ - Menjalankan serangkaian operasi secara paralel, mengembalikan Tugas.
TaskCompletionSource
- Cara kustom untuk menangani tugas-tugas async. Satu tempat saya menggunakan ini adalah untuk menangani acara yang berasal dari WebBrowser
kontrol.
async
Metode lain , seperti banyak fungsi di Win 8 API.
Dengan kata lain, async
/ await
adalah perpanjangan dari Pola Asinkron Berbasis Tugas . Anda dapat menemukan sejumlah besar informasi, termasuk banyak sampel, di sini .
Ini BackgroundWorker
adalah komponen WinForms yang membuat 1 utas latar belakang menggunakan pola Asynchronous Berbasis Kejadian , dan Anda dapat mengisi pekerjaan yang dilakukan pada utas latar belakang ini dengan kode Anda sendiri di DoWork
pengendali acara. Secara umum, Microsoft tidak lagi merekomendasikan untuk menggunakan pola ini (lihat bagian bawah halaman di sini ), meskipun jika Anda sudah mengenalnya, itu mungkin masih merupakan opsi sederhana.
Pilihan lain yang tidak disebutkan, adalah ekstensi reaktif untuk .NET . Ini adalah kerangka kerja hebat lainnya untuk menambahkan daya tanggap ke aplikasi Anda.