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

  • LinusTechTips

    LinusTechTip

    25 Kasım 2008
  • PhoneBuff

    PhoneBuff

    10 HAZİRAN 2011
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009