Zaman Uyumsuz Genel Bakış

Çok kısa bir süre önce uygulamalar daha yeni bir bilgisayar veya sunucu satın alarak daha hızlı ilerledi ve bu eğilim durduruldu. Aslında tersine çevrildi. Cep telefonları, 1ghz tek çekirdekli ARM yongaları ile görüntülendi ve sunucu iş yükleri VM'lere geçiş yaptı. Kullanıcılar yanıt veren kullanıcı arabirimini ve iş sahiplerini işletmeleriyle ölçeklendiren sunucular istiyor. Mobil ve buluta ve 3B kullanıcıdan >internete bağlı bir popülasyona geçiş, yeni bir yazılım düzeni kümesine neden oldu.

  • İstemci uygulamalarının yüksek uygulama mağazası derecelendirmeleriyle her zaman açık, her zaman bağlı ve kullanıcı etkileşimine (dokunma gibi) sürekli yanıt vermesi beklenir!
  • Hizmetlerin ölçeğini doğru bir şekilde yukarı ve aşağı doğru ölçeklendirerek trafik artışlarını işlemesi beklenir.

Zaman uyumsuz programlama, birden çok çekirdekte engelleyen G/Ç ve eşzamanlı işlemleri işlemeyi basit kılan temel bir tekniktir. .NET; C#, Visual Basic ve F# dillerinde kullanımı kolay, dil düzeyinde zaman uyumsuz programlama modelleriyle uygulama ve hizmetlerin hızlı ve esnek olmasını sağlar.

Neden Zaman Uyumsuz Kod Yazsın?

Modern uygulamalar, dosya ve ağ I/O'larını kapsamlı olarak kullanır. Geleneksel olarak, I/O API'leri varsayılan olarak engellenmiş ve zorlu desenleri öğrenmek ve kullanmak istemiyorsanız kötü kullanıcı deneyimleri ve donanım kullanımına neden olur. Görev tabanlı zaman uyumsuz API'ler ve dil düzeyinde zaman uyumsuz programlama modeli bu modeli ters çevirerek, öğrenilen birkaç yeni kavramla zaman uyumsuz yürütmeyi varsayılan değere ayarlar.

Zaman uyumsuz kod aşağıdaki özelliklere sahiptir:

  • Daha fazla sunucu isteğini işlemek için, bir yandan daha fazla isteği işlemek için iş parçacıkları sağlarken diğer yandan da I/O isteklerinin dönmesini bekler.
  • I/Ç isteklerini beklerken ve uzun süre çalışan işi diğer CPU çekirdeklere geçerek kullanıcı arabirimi etkileşimine iş parçacıkları getirerek kullanıcı arabirimlerinin daha hızlı yanıt vermesini sağlar.
  • Yeni .NET API'lerinin çoğu zaman uyumsuz.
  • .NET'te zaman uyumsuz kod yazmak kolaydır!

Sırada ne var?

Daha fazla bilgi için Async in depth konu başlığına bakın.

Zaman Uyumsuz Programlama Desenleri konusu, .NET'te desteklenen üç zaman uyumsuz programlama düzenine genel bir bakış sağlar:

Önerilen görev tabanlı programlama modeli hakkında daha fazla bilgi için Görev tabanlı zaman uyumsuz programlama konu başlığına bakın.