.NET 4.5 dan C# 5 memperkenalkan async/menunggu, yang mencetuskan soalan mengenai kes penggunaan dengan kelas pekerja latar belakang yang sedia ada. Artikel ini bertujuan untuk menjelaskan perbezaan antara kedua -dua dan membimbing pemaju untuk memilih kaedah yang paling sesuai untuk adegan mereka.
Async/menunggu: Operasi Asynchronous dengan thread yang tertunda
async/menunggu membolehkan kod melaksanakan asynchronous tanpa menyekat benang UI. Ia membantu menangani dengan cekap untuk melakukan banyak masa untuk diselesaikan, dengan itu tidak menghalang antara muka tindak balas. Tatabahasa Tatacara membolehkan pemaju menggantung pelaksanaan sehingga operasi tak segerak selesai.
Latar Belakang Kerja: Pemprosesan Thread Tugas Tunggal di Latar Belakang
Sebaliknya, Latar Belakang bekerja direka untuk tugas yang perlu dilakukan di kolam benang yang berasingan (jauh dari benang UI). Ia menyediakan laporan kemajuan dan mekanisme pemberitahuan penyelesaian.
perbandingan dan adegan biasa
Walaupun async/menunggu dan pekerja latar belakang berfungsi dengan tujuan yang berbeza dan tidak dapat dibandingkan secara langsung, dalam beberapa kes, setiap kaedah mungkin lebih sesuai.
Operasi Asynchronous Non -blocking yang tidak memerlukan laporan kemajuan (contohnya, Rangkaian I/O)
Operasi mudah yang tidak memberi kesan kepada keupayaan tindak balas UI
adegan yang penting untuk digunakan (atau melepaskan) sumber dalam konteks tak segerak
anda perlu menyeret dan menjatuhkan komponen kerja latar belakang pada gambarajah reka bentukmelibatkan sejumlah besar pengiraan atau kemas kini UI, ia memerlukan kelewatan thread
Atas ialah kandungan terperinci Async/menunggu vs latar belakang pekerja dalam .net: Bilakah saya harus menggunakan yang mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!