menyatakan dan penyegerakan tugas tak segerak: tugas.
Apabila memproses tugas -tugas asynchronous dalam aplikasi konsol C#, pelaksanaan tugas koordinasi dan menunggu siapnya mungkin menjadi cabaran. Artikel ini akan menyediakan penyelesaian pelaksanaan yang mudah untuk mengendalikan pelbagai tugas asynchronous dan menyelesaikannya. Kaedah tradisional menggunakan dan kaedah halangan lain untuk menunggu semua tugas selesai. Walau bagaimanapun, kaedah ini akan menghalang benang pelaksanaan dan kecekapan yang tidak cekap. Untuk mencari penyelesaian yang lebih dioptimumkan, mari kita bincangkan kaedah
.Task.Whenall Method
Task.WaitAll
Task.WhenAll
adalah kaedah menunggu, ia menerima array tugas sebagai parameter. Tidak seperti , ia tidak menghalang benang pelaksanaan. Sebaliknya, ia mengembalikan tugas baru, yang mewakili gabungan semua tugas input.
Melaksanakan Contoh
Contoh -contoh berikut Run dan Segerakkan Pelbagai Tugas Asynchronous: Task.WhenAll
Task.WaitAll
dan adalah kaedah asynchronous tugas anda. Buat tugas baru, dan hanya apabila kedua -dua tugas input selesai, tugas itu akan selesai. Dengan menunggu tugas gabungan ini, benang pelaksanaan akan dipulihkan selepas semua tugas input selesai.
rawatan abnormal Task.WhenAll
<code class="language-csharp">var task1 = DoWorkAsync(); var task2 = DoMoreWorkAsync(); await Task.WhenAll(task1, task2);</code>
menyediakan rawatan abnormal yang lebih terperinci. Jika sebarang tugas input gagal, tugas yang dikembalikan juga akan gagal dan agregat abnormalitas dari tugas kesalahan. Jika semua tugas berjaya diselesaikan, tugas yang dikembalikan akan berada di negeri DoWorkAsync
. DoMoreWorkAsync
Atas ialah kandungan terperinci Bagaimana Task.WhenAll Boleh Meningkatkan Pelaksanaan dan Penyegerakan Tugasan Asynchronous Serentak dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!