Eşzamansız Yöntem Çağrısı

Yazar: Lewis Jackson
Yaratılış Tarihi: 8 Mayıs Ayı 2021
Güncelleme Tarihi: 25 Haziran 2024
Anonim
Eşzamansız Yöntem Çağrısı - Teknoloji
Eşzamansız Yöntem Çağrısı - Teknoloji

İçerik

Tanımı - Asenkron Yöntem Çağrısı ne anlama geliyor?

Zaman uyumsuz bir yöntem çağrısı, .NET programlamasında kullanılan ve işleminin tamamlanmasından hemen önce çağıran iş parçacığını engellemeden arayana dönen bir yöntemdir.

Bir uygulama eşzamansız bir yöntem çağırdığında, görevini gerçekleştiren eşzamansız yöntemin yürütülmesiyle birlikte eşzamanlı olarak yürütülebilir. Eşzamansız bir yöntem, ana uygulama iş parçacığından ayrı bir iş parçacığında çalışır. İşleme sonuçları başka bir iş parçacığı üzerinde başka bir çağrı ile alınır.

Eşzamansız yöntemler, ölçeklenebilir uygulamaya neden olan kaynakların yürütülmesini optimize eder. Bunlar, büyük dosyaları açmak, uzak bilgisayarlara bağlanmak, bir veritabanını sorgulamak, Web servislerini çağırmak ve ASP.NET Web formları gibi zaman alıcı görevleri gerçekleştirmek için kullanılır.

Eşzamansız yöntem çağrısı, eşzamansız yöntem çağrısı (AMI) olarak da ifade edilebilir.


Microsoft Azure ve Microsoft Cloud'a Giriş | Bu kılavuz boyunca, bulut bilişimin neyle ilgili olduğunu ve Microsoft Azure'un işinizi buluttan geçirmenize ve yürütmenize nasıl yardımcı olabileceğini öğreneceksiniz.

Techopedia Asenkron Yöntem Çağrısını Açıklar

Eşzamansız yöntem, çağrıdan döndürdüğü şekilde eşzamanlı yöntemden farklıdır. Zaman uyumsuz bir yöntem çağrısı derhal geri dönerken, çağrı yapan programın başka işlemler gerçekleştirmesine izin verirken, zaman uyumlu yöntem çağrıları, program akışına devam etmeden önce yöntemin tamamlanmasını bekler.

.NET çerçevesi, zaman uyumsuz bir altyapıya sahiptir, böylece herhangi bir yöntem, kodunu değiştirmeden zaman uyumsuz bir şekilde çağrılabilir.

.NET framework, eşzamansız delegeleri (IASyncResult nesneleri) ve olayları kullanan eşzamansız yöntemi uygulamak için iki tasarım deseni sağlar. Eşzamansız delegeler modeli daha karmaşıktır ve çeşitli karmaşık programlama modellerine uygun hale getiren esneklik sağlar. Olay temelli model basittir ve çoğu durumda kullanılmalıdır.

Eşzamansız delegates deseninde, bir temsilci nesnesi iki yöntem kullanır: BeginInvoke ve EndInvoke. BeginInvoke, iki ek isteğe bağlı parametre ile birlikte, sarılmış işlevine benzer bir parametre listesine sahiptir; IAsyncResult nesnesini döndürür. EndInvoke, IAsyncResult nesnesiyle birlikte iki parametre (out ve ref türü) döndürür. BeginInvoke asenkron aramayı başlatmak için kullanılır, oysa EndInvoke asenkron aramanın sonuçlarını almak için kullanılır.

Olaylara dayalı zaman uyumsuz desenleri, geçerli iş parçacığında çalışan karşılık gelen zaman uyumlu sürümleri olan MethodNameAsync adlı bir veya daha fazla yönteme sahip bir sınıfı kullanır. Olaylara dayalı modellerde ayrıca bir MethodNameCompleted olayı ve MethodNameAsyncCancel yöntemi olabilir. Bu örüntü, sınıfın delege olay modelini kullanarak bekleyen eşzamansız işlemlerle iletişim kurmasını sağlar.

Asenkron yöntemlerle ilgili birkaç ipucu:


  • Yüksek eşzamanlılık için, zaman uyumsuz yöntemlerden kaçınılması gerekir.
  • Paylaşılan nesne referansları iletilirken özen gösterilmesi gerekiyor.
  • İstisnaları yeniden denemek ve başarısızlıktan kaçınmak için EndXXX'in (zaman uyumsuz bir işlemin sonunda çağrılır) çağrılması gerekir
  • Tüm istisna nesnelerini eşzamansız yöntemle yakalayıp kaydederek, EndXXX çağrısı sırasında yeniden değiştirilebilir
  • Uzun süren asenkron işlemleri başlatan kullanıcı arayüzündeki kontroller, sadece bu amaç için gerekliyse devre dışı bırakılmalıdır.
  • Eşzamansız yöntemler, çoklu okuma anlayışıyla ve eşzamanlı yöntemler kullanmaktan daha etkili olduklarını kanıtladıkları yerlerde uygulanmalıdır.