Porozmawiajmy o rzeczach wszystkim Wam świetnie znanych.
Głodzenie wątków. Długie bloki synchronize. Niestabilne I/O. Problemy w wyborem lidera w klastrze.
To wszystko, to oczywiście problemy komunikacji. Takiej międzyludzkiej.
Czym innym jest meeting niż blokiem synchronize, rozciągniętym na wątki naszej uwagi? Cały projekt upada, bo jedna osoba wylądowała na L4 – dziwnie podobne do potężnych stron, upadających z powodu jednej niedziałającej usługi!
Komunikacja, ta w realnych życiu, ma dużo wspólnego z komunikacją pomiędzy wątkami/procesami/maszynami. Obie są trudne – obie też powinny być przemyślane. Co najważniejsze dla nas – są pewnie lekcje, które odnoszą się do obu!
Zadajesz sobie pytanie - no dobra, ale czemu ja, programista, miałbym się tym przejmować?. Odpowiedź jest prosta – komunikacja nie jest dziedziną przeznaczoną tylko i wyłącznie Product Managerom czy architektom. Niekończące się spotkania, czy ciągła niemożność dojścia do decyzji – to są rzeczy, które skutecznie wysycają twoje wewnętrzne zasoby i spowalniają Cię w podobny sposób, jak niepotrzebna synchronizacja spowalnia twój kod.
Porozmawiamy o tym, w jaki sposób wiedza o współczesnych procesorach może nam pomóc zorganizować efektywne spotkania. Przekonamy się, co wspólnego mają ze sobą programiści i Java Memory Model. Nauczymy się, jak zaprojektować nieblokującą komunikację, i to bez używania brzydkich tricków jak Unsafe!
Ostrzeżenie – ludzie będą tutaj porównywani do zasobów.
Zbyszko o sobie: "Inżynier, z silnym uzależnieniem od produktowej warstwy rozwiązania. Związany w przeszłości z Allegro, Jirą, a ostatnio Dynatrace. Wszędzie gdzie się da szuka ciekawych danych, szczególnie takich bez struktury, Po godzinach zajmuje się inicjatywami trójmiejskiego JUGa, takimi jak Hackengarten, a także ostatnio próbuje nauczyć się swojego pierwszego (i najprawdopodobniej ostatniego) języka orientalnego."
https://www.meetup.com/trojmiasto-java-user-group/events/253649738/