Neden Asenkron Programlama?
Veritabanı sorgusu, dosya okuma veya HTTP isteği gibi işlemler sırasında thread beklemek yerine başka işlemler yapabilir. Bu özellikle web uygulamalarında yüksek eş zamanlı kullanıcı desteği sağlar.
async/await Sözdizimi
// Asenkron metot tanımlama
public async Task<string> VeriGetirAsync(int id) {
await Task.Delay(100); // simüle gecikme
return $"Veri {id}";
}
// Çağırma
public async Task<IActionResult> Index() {
var veri = await VeriGetirAsync(1);
return Ok(veri);
}Paralel İşlemler
// Birden fazla işlemi paralel başlat
var gorev1 = KullaniciGetirAsync(id);
var gorev2 = UrunlerGetirAsync();
await Task.WhenAll(gorev1, gorev2);
var kullanici = gorev1.Result;
var urunler = gorev2.Result;HttpClient ile Asenkron HTTP
using var client = new HttpClient();
var json = await client.GetStringAsync("https://api.example.com/data");
var veri = JsonSerializer.Deserialize<Model>(json);