Rumah >pembangunan bahagian belakang >C++ >Tugas Async vs Async Void: Bilakah anda harus mengembalikan tugas?

Tugas Async vs Async Void: Bilakah anda harus mengembalikan tugas?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-02-01 13:56:09691semak imbas

Async Task vs. Async Void: When Should You Return a Task?

dalam pengaturcaraan asynchronous,

dan pemilihan nilai pulangan async Task async void Adalah biasa untuk digunakan

dan

dalam pengaturcaraan asynchronous, tetapi memilih async atau await sebagai kaedah pulangan sering mengelirukan. public async Task AsyncMethod(int num) public async void AsyncMethod(int num) kembali

Task Secara umum, kembali adalah pilihan pertama. Ia membolehkan pemanggil untuk mengesan kemajuan operasi tak segerak dan menunggu ia selesai. Ini sangat berguna apabila tugas menunjukkan bahawa ia mungkin memerlukan masa yang lama untuk menjalankan operasi.

kembali Task

kembali ke biasanya digunakan untuk operasi asynchronous tidak perlu melaporkan kemajuannya atau penerima tidak perlu menunggu untuk diselesaikan. Senario yang sesuai adalah untuk menangani peristiwa, kerana prosedur pemprosesan acara biasanya tidak dikembalikan. void Kata kunci yang tidak diperlukan

void Dalam beberapa kes,

dan

mungkin tidak perlu. Sebagai contoh, jika kaedah anda hanya melaksanakan satu operasi tak segerak tunggal dan tidak perlu menjejaki kemajuannya, anda boleh menggunakan sintaks berikut: Walau bagaimanapun, dalam kes ini, masih disyorkan untuk menggunakan

dan

, kerana mereka memastikan rawatan keabnormalan yang betul, terutamanya apabila operasi tak segerak membuang keabnormalan yang tidak pernah berlaku sebelum ini. async await Langkah berjaga -jaga lain

<code class="language-csharp">public static void AsyncMethod2(int num)
{
    Task.Factory.StartNew(() => Thread.Sleep(num));
}</code>

Kaedah async dianggap sebagai operasi asynchronous "atas -peringkat", dan mempunyai peraturan khas dalam rawatan yang tidak normal. await

Jika kaedah Top -level dibuang secara tidak normal, pemanggil tidak selalu memerhatikannya.

Gunakan dan untuk memastikan bahawa pengecualian dapat dikendalikan dengan betul dalam kaedah asynchronous atas dan bukan -level.

    Atas ialah kandungan terperinci Tugas Async vs Async Void: Bilakah anda harus mengembalikan tugas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn