Karşılaştırma Unıx/Linux IPC
Unıx/Linux tarafından sunulan IPCs sürü: borular, yuva, bellek, dbus, paylaşılan mesaj sıralar...
Her biri için en uygun uygulama nedir ve nasıl yapabilirim?
CEVAP
Unıx IPC
İşte büyük yedi:
-
İşler üst/alt gibi ilgili sadece arasında yararlı.
pipe(2)
fork(2)
Ara. Tek yönlü. FIFO veya adlandırılmış
İki alakasız işler düz boru aksine FIFO kullanabilirsiniz.
mkfifo(3)
Ara. Tek yönlü.-
Çift yönlü. Ağ iletişimi için geliyordu, ama yerel olarak da kullanılabilir. Farklı protokol için kullanılabilir. İleti TCP için sınır yok.
socket(2)
Ara. -
OS ayrık mesaj korur. sys/msg.h bkz.
-
Sinyal başka bir işlem için bir tamsayı gönderir. Peki çoklu iş parçacığı ile örgü yok.
kill(2)
Ara. -
Çoklu iş parçacıkları veya işlemler için eşitleme mekanizması, insanlar banyo için bekleyen bir kuyruk benzer. sys/sem.h bkz.
-
Kendi eşzamanlılık denetimi yapmak.
shmget(2)
Ara.
Mesaj Sınır sorunu
Diğer bir yöntem seçerken belirleyici bir faktör sınır sorunu mesaj. "Birbirlerinden ayrı olarak, ama TCP veya Boru gibi bayt akışı için değil "mesajları beklediğiniz
Echo istemci ve sunucu bir çift düşünün. İstemci dize gönderir, sunucu alır ve geri gönderir. İstemci gönderir sanırım"", "", ve "Nasıl bir cevap hakkında".? Merhaba Merhaba
Akış protokolleri byte ile sunucu almak gibi olabilir"", "", ve "bir cevap";? oHelloHow Cehennem ya da daha çok "bir cevap hakkında HelloHelloHow?". gerçekçi Sunucu ileti sınırı nerede olduğu hakkında hiçbir fikri yok.
Yaş eski bir numara CHAR_MAX
UINT_MAX
mesaj uzunluğu sınırı ve mesajı göndermek için kabul önce char
uint
uzunluk. Eğer alıcı tarafında Yani, eğer, mesaj uzunluğu ilk okuman gerekiyor. Bu da yalnızca bir iş parçacığının ileti bir anda okuma yapmak gerektiğini ifade eder.
UDP veya mesaj iletim gibi ayrık protokolleri ile, bu konuda endişelenmenize gerek yok, ama Program aracılığıyla bayt akışları dosyalar gibi davranır ve/stdin çünkü ile başa çıkmak için daha kolay.
Unıx / Linux bir sürecin yolunu bulabi...
Bir komut UNIX/LİNUX süresini izlemek?...
Ne desen unıx/linux kabuk eşleşen zama...
nasıl komut satırından argüman olarak ...
Unıx/linux " Java IO uygulanması;t...