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

  • LearnCode.academy

    LearnCode.ac

    20 Aralık 2012
  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009
  • Ryan Billy

    Ryan Billy

    30 EKİM 2006