Rumah >pembangunan bahagian belakang >C++ >C# | Pengaturcaraan tak segerak dengan [async | menunggu | Tugasan]
Note You can check other posts on my personal website: https://hbolajraf.net
Dalam C#, pengaturcaraan tak segerak digunakan untuk meningkatkan responsif aplikasi dengan membenarkan tugasan dijalankan serentak tanpa menyekat utas utama. Kata kunci tunggu dan tak segerak memainkan peranan penting dalam mencapai matlamat ini. Panduan ini akan menunjukkan kepada anda cara menggunakan Tugas await dan async dengan berkesan.
Pengaturcaraan tak segerak dalam C# adalah penting untuk tugasan yang mungkin mengambil masa yang banyak, seperti operasi terikat I/O atau permintaan rangkaian. Dengan menggunakan await dan async, anda boleh memastikan aplikasi anda kekal responsif sementara menunggu tugasan ini selesai.
public async Task MyAsyncMethod() { // Asynchronous code here }
await MyAsyncMethod();
Kata kunci tunggu digunakan dalam kaedah async untuk menjeda pelaksanaan sehingga tugas yang ditunggu selesai. Ia membolehkan urutan panggilan meneruskan kerja lain tanpa menyekat.
async Task MyAsyncMethod() { var result = await SomeAsyncTask(); // Code after the await will execute when SomeAsyncTask is completed. }
Untuk mengendalikan pengecualian dalam kaedah tak segerak, anda boleh menggunakan blok cuba-tangkap standard. Apabila pengecualian dilemparkan dalam kaedah async, ia ditangkap dan disebarkan sebagai sebahagian daripada Tugasan.
try { await SomeAsyncMethod(); } catch (Exception ex) { // Handle the exception }
Untuk membatalkan operasi tak segerak, anda boleh menggunakan CancellationToken. Hantar Token Pembatalan kepada kaedah tak segerak dan semak pembatalan dalam kaedah tersebut.
async Task MyAsyncMethod(CancellationToken cancellationToken) { // Check for cancellation cancellationToken.ThrowIfCancellationRequested(); // Continue with the operation }
Berikut ialah contoh senario dunia sebenar yang biasa: membuat permintaan HTTP secara tidak segerak.
public async Task<string> FetchDataAsync(string url) { using (var httpClient = new HttpClient()) { var response = await httpClient.GetAsync(url); response.EnsureSuccessStatusCode(); return await response.Content.ReadAsStringAsync(); } }
Menggunakan await dan async Task dalam C# membolehkan anda menulis aplikasi yang responsif dan cekap, terutamanya apabila berurusan dengan tugasan terikat I/O atau jangka panjang. Ia membolehkan anda memastikan aplikasi anda responsif dan meningkatkan keseluruhan pengalaman pengguna dengan membenarkan berbilang tugasan dijalankan serentak tanpa menyekat urutan utama.
Atas ialah kandungan terperinci C# | Pengaturcaraan tak segerak dengan [async | menunggu | Tugasan]. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!