Rumah >pembangunan bahagian belakang >C++ >Task.Run vs. Async Kata Kunci: Bila Untuk Menggunakan Setiap untuk Operasi Asynchronous?
Asynchronicity in Do Work Methods: Task.Run vs. Async Keyword
Dalam bidang pengaturcaraan async, perbezaan antara pelaksanaan tak segerak dan penantian boleh diwarnakan. Mari kita mendalami spesifik Task.Run dan kata kunci async dan fahami peranan mereka dalam mencipta kaedah yang melaksanakan sama ada secara serentak atau tidak segerak.
Pelaksanaan Asynchronous: Task.Run
Kaedah Task.Run membolehkan anda mewakilkan pelaksanaan kod kepada urutan latar belakang. Dengan mencipta objek Tugas yang merangkum kod, Task.Run membolehkan anda melaksanakan kod secara tidak segerak tanpa menyekat laluan pelaksanaan semasa. Walau bagaimanapun, menggunakan Task.Run tidak semestinya membuat kaedah menunggu.
Kebolehan menunggu: Kata Kunci Async
Kaedah async ialah kaedah yang boleh dijeda dan disambung semula semasa menunggu ungkapan. Ini membolehkan kaedah untuk menghasilkan mata pelaksanaan kembali ke utas panggilan tanpa menyekat. Kaedah yang diisytiharkan sebagai tidak segerak boleh mengembalikan Tugas atau Tugas
Contoh: Pelaksanaan tanpa Async/Await
// Not async because it does not use await private Task<int> DoWorkAsync() { return Task.Run(() => { return 1 + 2; }); }
Dalam contoh ini, kami mengembalikan Tugasan
Contoh: Async Execution with Await
private async Task<int> GetWebPageHtmlSizeAsync() { var client = new HttpClient(); var html = await client.GetAsync("http://www.example.com/"); return html.Length; }
Dalam contoh ini, kaedah diisytiharkan sebagai async dan penggunaan menunggu untuk menjeda pelaksanaan pada operasi HttpClient.GetAsync. Kaedah ini akan memberikan kembali kepada pemanggil semasa halaman web sedang dimuat turun, dan kemudian menyambung semula apabila hasilnya tersedia.
Amalan Terbaik:
Kesimpulan:
Task.Run memudahkan pelaksanaan tak segerak dengan mewakilkan kod ke urutan latar belakang. Kata kunci async membolehkan menunggu dan membenarkan kaedah untuk menjeda dan menyambung semula pelaksanaan, memberikan fleksibiliti untuk mencipta kod responsif dan cekap.
Atas ialah kandungan terperinci Task.Run vs. Async Kata Kunci: Bila Untuk Menggunakan Setiap untuk Operasi Asynchronous?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!