SORU
30 Aralık 2009, ÇARŞAMBA


Aynı yuvada/al gönder paralel aramalar için geçerlidir?

  1. Bir iş parçacığı göndermek ve aynı yuvada başka bir yerden al " diyebilir miyiz?
  2. Aynı yuvada farklı iş parçacıkları paralel gönderir birden fazla diyebilir miyiz?

İyi bir tasarım bunu önlemek gerektiğini biliyorum, ama bu sistem API nasıl davranacağını açık değilim. Aynı zamanda iyi bir belgeleme bulmak için kuramıyorum.

Bu yönde herhangi bir işaretçiler yararlı olacaktır.

CEVAP
30 Aralık 2009, ÇARŞAMBA


POSIX atomik işlem olarak/al gönder tanımlar, POSIX hakkında konuştuğunu varsayarsak Evet/al o zaman, aynı anda birden çok iş parçacığı çağırabilir ve işlerin gönderir.

Bu mutlaka birden fazla olması durumunda paralel ... ... idam edilecekler anlamına gelmez, ikinci muhtemel ilk tamamlanıncaya kadar engeller gönderir. Muhtemelen bir yuva arabellek içine veri koymak tamamlandıktan sonra gönder Bu kadar fark olmaz.

Kullanıyorsanız SOCK_STREAM yuva, yapmak istediğim şeyleri bir paralel daha az yararlı olması gibi Gönder/Al diye gönderip sadece bir kısmını bir mesaj, yani bir şeyler alabilir ayrıldı.

Engelleme/al SOCK_STREAM yuva sadece onlar ya da en az 1 byte Gönder Al kadar blok gönder, ve non-engelleme engelleme arasındaki fark yararlıdır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dumb Stupid Videos

    Dumb Stupid

    26 Kasım 2013
  • Google Analytics

    Google Analy

    25 ŞUBAT 2008
  • TheOtherMau5

    TheOtherMau5

    6 Mart 2012