Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah `async` dan` menunggu` memudahkan pengaturcaraan asynchronous di C#?

Bagaimanakah `async` dan` menunggu` memudahkan pengaturcaraan asynchronous di C#?

Linda Hamilton
Lepaskan: 2025-02-02 18:52:35
asal
305 orang telah melayarinya

How Do `async` and `await` Simplify Asynchronous Programming in C#?

c#pengaturcaraan asynchronous

dan : memudahkan operasi asynchronous async await Pengaturcaraan Asynchronous membolehkan kod untuk melaksanakan serentak tanpa menyekat benang utama.

dan Kata kunci memudahkan penulisan dan pemahaman operasi tak segerak.

async berbanding dengan benang latar belakang await

Tidak seperti benang latar belakang tradisional yang bebas, dan menggunakan mesin negara

yang dihasilkan oleh pengkompil di latar belakang. Kemajuan mesin pengesan mesin negara ini membolehkan operasi utama untuk terus dilaksanakan apabila operasi latar belakang selesai. async await Butiran Contoh

Dalam contoh,

butang1_click kaedah ditandakan sebagai , kerana ia mengandungi dosomethingasync operasi asynchronous. Apabila dosomethingAsync dilaksanakan di latar belakang (benang spesifik bergantung pada konfigurasi kolam thread), benang UI menyimpan respons, dan pengguna dapat terus berinteraksi dengan aplikasi.

Barisan kod ini disiapkan selepas DosomethingAsync dan benang utama dilaksanakan selepas hasil tatabahasa . Ini bermakna bahawa kod selepas hanya akan dilaksanakan selepas operasi tak segerak selesai. async

dan

penguraian fungsi int a = 1; await await Contoh -contoh berikut selanjutnya menunjukkan proses pelaksanaan menggunakan

dan

: async await mymethodasync mula melaksanakan dan memulakan longrunningoperationAsync di latar belakang.

Benang utama dilaksanakan secara bebas, sementara LongrunningOperationAsync dilaksanakan di latar belakang. async await Apabila LongrunningOperationAsync selesai, benang utama disambung semula dan diteruskan dari gangguan.

public async Task MyMethodAsync()
{
    Task<int> longRunningTask = LongRunningOperationAsync();
    // 这里可以执行其他独立的工作
    int result = await longRunningTask;
    // 这里使用result
}

public async Task<int> LongRunningOperationAsync()
{
    await Task.Delay(1000);
    return 1;
}
Salin selepas log masuk
Hasil dari aksara pengkomputeran mengambil hasil longrunningoperationAsync dan simpannya dalam pembolehubah
    .
  1. Benang utama terus melaksanakan dan menggunakan hasil yang diperolehi daripada operasi tak segerak.

Atas ialah kandungan terperinci Bagaimanakah `async` dan` menunggu` memudahkan pengaturcaraan asynchronous di C#?. 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