Kodkitabi

Asenkron Programlama

C# içinde asenkron programlama kavramını, kullanım sınırlarını ve güvenilir uygulama biçimini öğrenin.

Asenkron Programlama, C# ile güvenilir uygulamalar çalışırken hata durumlarını denetlenebilir bir akışa dönüştürmek için kullanılan yaklaşımı açıklar. Asenkronluk bekleyen işi iş parçacığını gereksiz yere meşgul etmeden sürdürür; sonuç, hata ve iptal aynı sözleşmenin parçalarıdır.

Başlatılan işi beklememek hataları kaybettirir; zaman aşımı, iptal ve yaşam döngüsü sahipliği çağrı zinciri boyunca açıkça aktarılmalıdır. İsimlendirme, küçük sorumluluklar ve görünür veri akışı; kodun yalnızca çalışmasını değil, anlaşılmasını da sağlar. Aşağıdaki örnek, konuyu küçük ve izlenebilir bir akış içinde gösterir.

Yaygın hata ve doğru yaklaşım

Girdi, çıktı ve hata sözleşmesini belirsiz bırakmak çağıran kodu kırılgan hâle getirir. Normal akış kadar başarısızlık davranışını da açıkça tasarlayın.

Sonuç

Asenkron Programlama, doğru sınırlar ve açık bir sözleşmeyle kullanıldığında C# kodunun güvenilirliğini artırır. Önce doğruluğu kurun; ölçüm göstermeden karmaşık optimizasyona yönelmeyin.

Asenkron Programlama örneği
static async Task<string> ReadTitleAsync(string path, CancellationToken token)
{
    await using var stream = File.OpenRead(path);
    using var reader = new StreamReader(stream);
    return await reader.ReadLineAsync(token) ?? string.Empty;
}