dan : memudahkan operasi asynchronous async
await
Pengaturcaraan Asynchronous membolehkan kod untuk melaksanakan serentak tanpa menyekat benang utama.
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
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
penguraian fungsi int a = 1;
await
await
Contoh -contoh berikut selanjutnya menunjukkan proses pelaksanaan menggunakan
:
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; }
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!