Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Poprzednia wersja | |||
sk2:good_practices [2022/11/21 21:50] jkonczak [Kryptografia, kompresja...] |
sk2:good_practices [2022/11/21 21:52] (aktualna) jkonczak |
||
---|---|---|---|
Linia 50: | Linia 50: | ||
- wyślij nieblokująco wszystko co się da (pamiętaj o zwalnianiu pamięci) | - wyślij nieblokująco wszystko co się da (pamiętaj o zwalnianiu pamięci) | ||
- jeśli wysłano wszystko – przestań czekać na zdarzenie zapisu | - jeśli wysłano wszystko – przestań czekać na zdarzenie zapisu | ||
- | * jeśli progam potrzebuje pisać z wielu wątków, potrzeba jest synchronizacja (zamek) na obgługę zapisów | + | * jeśli program potrzebuje pisać z wielu wątków, potrzeba jest synchronizacja (zamek) na obsługę zapisów |
Metoda 2: | Metoda 2: | ||
* dla każdego połączenia trzymany jest wątek do wysyłania, lista wiadomości, zamek i zmienna warunkowa | * dla każdego połączenia trzymany jest wątek do wysyłania, lista wiadomości, zamek i zmienna warunkowa | ||
Linia 96: | Linia 96: | ||
==== Middleware ==== | ==== Middleware ==== | ||
- | Dostępnych też jest wiele //middleware// (warstw pośredniczących) które pozwalają programiście używać sieci bez pisania kodu obsługjącego sieć, np: | + | Dostępnych też jest wiele //middleware// (warstw pośredniczących) które pozwalają programiście używać sieci bez pisania kodu obsługującego sieć, np: |
* [[https://en.wikipedia.org/wiki/Remote_procedure_call|RPC]] / [[https://en.wikipedia.org/wiki/Distributed_object_communication|RMI]] | * [[https://en.wikipedia.org/wiki/Remote_procedure_call|RPC]] / [[https://en.wikipedia.org/wiki/Distributed_object_communication|RMI]] | ||
* [[https://pl.wikipedia.org/wiki/Message_Passing_Interface|MPI]] | * [[https://pl.wikipedia.org/wiki/Message_Passing_Interface|MPI]] |