Rumah > pembangunan bahagian belakang > C++ > Bilakah Saya Perlu Menggunakan `Task.Run` dengan Async dan Await?

Bilakah Saya Perlu Menggunakan `Task.Run` dengan Async dan Await?

Barbara Streisand
Lepaskan: 2025-01-04 12:01:35
asal
367 orang telah melayarinya

When Should I Use `Task.Run` with Async and Await?

Async dan Await Demystified: Mengelakkan Tugas.Run Conundrum

Memahami async dan menunggu boleh menjadi rumit pada mulanya, tetapi memecahkan konsep boleh memudahkan proses.

Async lwn. Latar Belakang Pelaksanaan Benang

Async tidak semestinya bermaksud "benang latar belakang"; ia merujuk kepada kaedah yang membenarkan kawalan "menghasilkan" pada urutan panggilan sebelum meneruskan. Mata hasil ini ditandakan dengan ekspresi menunggu.

Awaitable vs. Async

Jenis yang boleh ditunggu boleh ditunggu (seperti dalam ekspresi await), manakala kaedah async membenarkan untuk asynchronous perlaksanaan. Bukan semua kaedah async mengembalikan jenis yang boleh ditunggu, dan sebaliknya.

Task.Run for Background Execution

Jika anda ingin melaksanakan operasi pada urutan latar belakang dan membuatnya boleh ditunggu, gunakan Task.Run:

private Task<int> DoWorkAsync() 
{
    return Task.Run(() => 1 + 2); 
}
Salin selepas log masuk

Kaedah Async untuk Menghasilkan

Buat kaedah async yang menghasilkan kembali kepada pemanggil dengan menggunakan await dan async dalam tandatangan kaedah:

private async Task<int> GetWebPageHtmlSizeAsync()
{
    var client = new HttpClient();
    var html = await client.GetAsync("http://www.example.com/");
    return html.Length;
}
Salin selepas log masuk

Elakkan Tugasan. Jalankan dalam Kaedah Segerak

Ia tidak disyorkan untuk membalut kaedah segerak dalam Task.Run. Jika anda perlu melaksanakan pada urutan latar belakang, buat tugasan berasingan.

Sumber untuk Penerokaan Selanjutnya

  • [Async/Await Introduction on M. Thaddeus Payne's Blog](https://blog.m-thaddeus.com/async- and-await-simplified-an- pengenalan/)
  • [Dokumentasi MSDN tentang Pengaturcaraan Async](https://docs.microsoft.com/en-us/dotnet/csharp/programming- guide/concepts/async/)

Atas ialah kandungan terperinci Bilakah Saya Perlu Menggunakan `Task.Run` dengan Async dan Await?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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