Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk secara serentak melaksanakan kaedah tugas async di C#?
secara serentak melaksanakan tugas C#Asynchronous
await
Terdapat banyak cara untuk mencapai matlamat ini, tetapi tidak semua kaedah sesuai untuk semua adegan. Berikut adalah beberapa kaedah biasa:
Menyekat benang semasa sehingga operasi asynchronous selesai. Tetapi jika tugas itu dilaksanakan pada benang yang sama yang menantinya, ia boleh menyebabkan kebuntuan.
Kaedah 2: Gunakan tugas. menjalankan operasi asynchronous pada benang semasa tanpa halangan. Tetapi kaedah ini memerlukan tugas itu tidak terikat kepada Suruhanjaya, yang tidak selalu dapat dilaksanakan.
Task.Wait()
Kaedah 3: Gunakan kelas TaskCompletionsource
<code class="language-csharp">Task<Customer> task = GetCustomers(); task.Wait();</code>
Membolehkan tugas penciptaan manual dan melengkapkannya selepas operasi tak segerak selesai.
Kaedah 4: Gunakan kelas Auxiliary Custom Task.RunSynchronously()
<code class="language-csharp">Task<Customer> task = GetCustomers(); task.RunSynchronously();</code>Beberapa perpustakaan ketiga -tiga menyediakan kaedah tambahan untuk menjalankan tugas -tugas asynchronous dalam penyegerakan. Sebagai contoh, Perpustakaan Asynchelpers:
Atas ialah kandungan terperinci Bagaimana untuk secara serentak melaksanakan kaedah tugas async di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!