masa dan kaedah penggunaan
async
await
dalam C#,
dan adalah kata kunci yang kuat. Menggunakannya tidak sama dengan mencipta benang latar belakang, kerana mereka menggunakan mekanisme yang berbeza yang disebut mesin negara tak segerak. async
await
Butiran Kod Contoh
mari kita menganalisis serpihan kod yang disediakan untuk menunjukkan kaedah kerja dan
:
async
await
Penjelasan tingkah laku
<code class="language-csharp">private async void button1_Click(object sender, EventArgs e) { Task<int> access = DoSomethingAsync(); // 此处执行与任务无关的逻辑 int a = 1; // 立即执行,因为它不依赖于 DoSomethingAsync() int x = await access; // 等待 DoSomethingAsync() 完成 } async Task<int> DoSomethingAsync() { await Task.Delay(5000); // 使线程休眠 5 秒 return 1; }</code>
Kaedah ini ditandakan sebagai untuk membolehkan pelaksanaannya yang tidak segerak.
button1_Click
Apabila berjalan di latar belakang, anda boleh melakukan logik bebas. async
DoSomethingAsync()
selesai. DoSomethingAsync()
ke await access;
button1_Click
DoSomethingAsync()
dan DoSomethingAsync()
await
Apabila menggunakan dan x
, pengkompil menghasilkan mesin negara tak segerak. Pemasangan dan pemulihan tugas pengurusan mesin negara ini membolehkan operasi tak segerak untuk menulis dan melaksanakan operasi tak segerak secara mudah.
async
await
meningkatkan kebolehbacaan kod
async
keupayaan tindak balas UI yang dipertingkatkan await
Atas ialah kandungan terperinci Bilakah dan bagaimana anda harus menggunakan Async dan menunggu di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!