SORU
12 NİSAN 2010, PAZARTESİ


zaman uyumsuz vs-engelleme olmayan

Ve engellenmeyen aramalar asenkron arasındaki fark nedir? Engelleme ve senkron aramaları örnekleri (lütfen) arasında da?

CEVAP
12 NİSAN 2010, PAZARTESİ


Birçok durumda, aynı şey için farklı isimler vardır, ama bazı bağlamlarda oldukça farklıdır. Duruma göre değişir. Terminoloji tüm yazılım endüstrisi genelinde tamamen tutarlı bir şekilde uygulanır.

Klasik yuva API örneğin, engellenmeyen bir yuva sadece hemen "" hata iletisi, bir engelleme soket yere koyardı. blok özel döndüren biridir select poll gibi ayrı bir fonksiyonu kullanmak için yeniden denemek için iyi bir zaman bulmak zorunda.

Ama yuva Windows yuvaları tarafından desteklenen gibi) uyumsuz, veya zaman uyumsuz G / Ç deseni kullanılmış .NET, daha uygundur. Bir işlemi başlatmak için bir yöntem çağrısı ve çerçeve bitince geri çağırır. Burada bile, temel farklılıklar vardır. Asenkron Win32 yuva "Mareşal" Pencere iletilerini ileterek GUI belirli bir konu üzerine kendi sonuçlarını, oysa .NET asenkron IO boş iş parçacıklı (geri çağrılan ne olacağını bilmiyorsun).

Her zaman aynı şeyi ifade etmiyorlar. Soket örnek açıklamak için şunları söyleyebiliriz:

  • API çağrısı, bir tür cevap var ve sen dönünceye kadar kadar konu kilitleniyor. ve senkron aynı anlama engelleme:
  • Engellenmeyen bir cevap hızla döndü olabilir eğer, API hemen bir hata döndürür ve başka hiçbir şey yok anlamına gelir. API olarak adlandırılan hazır olup olmadığını sorgulamak için bazı ilgili şekilde (yani, etkin bir şekilde durun, sıkı bir döngüde elle yoklama önlemek için taklit) olmalı.
  • API her zaman hemen başlayan döndüren asenkron anlamı "arkaplan iyi sonuç elde etmek için bazı ilgili yolu olmalı" isteğinizi yerine getirmek için çaba.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AlaskanGrizzly

    AlaskanGrizz

    30 EKİM 2009
  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • LivestrongWoman

    LivestrongWo

    1 Aralık 2011