Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Melaksanakan dan Mendapatkan Hasil Secara Cekap daripada Berbilang Tugas Tak Segerak dengan Jenis Pulangan Berbeza?

Bagaimanakah Saya Boleh Melaksanakan dan Mendapatkan Hasil Secara Cekap daripada Berbilang Tugas Tak Segerak dengan Jenis Pulangan Berbeza?

Linda Hamilton
Lepaskan: 2025-01-28 03:26:08
asal
506 orang telah melayarinya

How Can I Efficiently Execute and Retrieve Results from Multiple Asynchronous Tasks with Different Return Types?

Menguruskan Operasi Asynchronous Serentak dengan Pelbagai Jenis Pulangan

Contoh ini menunjukkan cara melaksanakan berbilang tugas tak segerak secara serentak, setiap satu mengembalikan jenis hasil yang berbeza dan mendapatkan hasil tersebut dengan cekap. Bayangkan tiga fungsi tak segerak:

public class AsyncOperations {

    private async Task<Cat> FeedCatAsync() { ... }
    private async Task<House> SellHouseAsync() { ... }
    private async Task<Tesla> BuyCarAsync() { ... }

}
Salin selepas log masuk

Kami akan menggunakan Task.WhenAll untuk menjalankan ini secara serentak dan mengumpul hasilnya.

// Instantiate the class containing asynchronous methods
var operations = new AsyncOperations();

// Initiate the tasks
var catTask = operations.FeedCatAsync();
var houseTask = operations.SellHouseAsync();
var carTask = operations.BuyCarAsync();

// Execute concurrently and wait for completion
await Task.WhenAll(catTask, houseTask, carTask);

// Retrieve results
var cat = await catTask;
var house = await houseTask;
var car = await carTask;

// Process the results...
Salin selepas log masuk

Task.WhenAll memastikan semua tugasan selesai sebelum meneruskan. Kata kunci await adalah penting untuk mengendalikan operasi tak segerak dengan betul; ia menghalang menyekat utas utama semasa menunggu keputusan. Walaupun Task.Result menawarkan alternatif untuk mendapatkan semula hasil, ia secara amnya kurang diutamakan kerana kemungkinan isu sekatan. Pendekatan ini menyediakan cara yang bersih dan cekap untuk mengurus tugas tak segerak serentak dengan nilai pulangan yang pelbagai.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan dan Mendapatkan Hasil Secara Cekap daripada Berbilang Tugas Tak Segerak dengan Jenis Pulangan Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan