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

  • manadude21

    manadude21

    11 Mart 2008
  • SHAYTARDS

    SHAYTARDS

    1 EKİM 2008
  • Top Gear

    Top Gear

    27 Mart 2006