Heja. Krótko. Przygotowałem 3 video dotyczące współbieżności. Dzisiaj udostępniam pierwsze:
10 zalet rozumienia współbieżności i wielowątkowości.
Mam nadzieję, że da Wam trochę wartości => https://sztukakodu.pl/v1/
Heja. Krótko. Przygotowałem 3 video dotyczące współbieżności. Dzisiaj udostępniam pierwsze:
10 zalet rozumienia współbieżności i wielowątkowości.
Mam nadzieję, że da Wam trochę wartości => https://sztukakodu.pl/v1/
Obejrzałem wstęp i plus za dzieleni się wiedzą i parę uwag (możesz je śmiało zignorować ;) ):
Cześć, podbijam dzisiaj drugie video! Zapraszam ;)
7 błędów popełnianych przy programowaniu wielowątkowym => https://sztukakodu.pl/nagranie-2
Pierwsze videło: zaleta 2.
Nawiązujesz do modelu 1 wątek 1 request. Ale to stare dzieje. Teraz 1 wątek obsługuje równocześnie tysiące żądań. See nonblocking.
Zaleta 5 :-) mrzonki niestety. Znając się na temacie wpadasz w sidła rzadziej i szybciej znajdujes błędy. Ale wpadasz. Zresztą w kolejnym punkcie to pośrednio przyznajesz.
Edit 2: drugie wideo ma niestety potencjał kancerogenny. Mówisz o tym, żeby nie stosować nidgy synchronized na produkcji, tak jak nie startować nigdy wątków. W zasadzie prawda... ale są wyjątki. Poza tym w tym momencie wyjaśnienia, które podajesz są takie sobie. Już się boje co będzie jak kilku jasiów zacznie np. stosować lock/unlock zamiast synchronized () {}
.
Z drugiej strony rozumiem, że trzeba upraszczać, po prostu mam uraz do bezkrytycznie powtarzanych regułek.
Zobaczymy co będzie dalej.
IMO błędem, który widzę najczęściej jest nieogarnianie podstaw memory modelu javy. Z tego wychodzą ładne kwiatki zwykle.
Luźna sobota? Zapraszam do obejrzenia trzeciego video na temat współbieżności, które przygotowałem ;) Tym razem: 7 etapów pracy z wielowątkowością.
@dmydlarz: sory jeśli na to odpowiedź jest w video (nie oglądałem), ale czy Ty rzeczywiście wykorzystujesz swoją wiedze w pracy? Na ogół jednak klepie się te aplikacje Springowe i nie wykorzystywuje się jawnie współbieżności,
@scibi92: jasne, nie piszę codziennie mega rozkminionych w kosmos rozwiązań wielowątkowych, ale warto wiedzieć jak to wszystko działa pod spodem; i jak dostaniesz w twarz InterruptedException, albo requesty trwają niemiłosiernie długo, choć nie powinny to warto wiedzieć gdzie szukać ewentualnych problemów ;)
dmydlarz napisał(a):
@scibi92: jasne, nie piszę codziennie mega rozkminionych w kosmos rozwiązań wielowątkowych, ale warto wiedzieć jak to wszystko działa pod spodem; i jak dostaniesz w twarz InterruptedException, albo requesty trwają niemiłosiernie długo, choć nie powinny to warto wiedzieć gdzie szukać ewentualnych problemów ;)
Ten InterruptedException to raczej mocno wydumany przykład, nigdy się nie spotkałem, żeby komuś się z nienacka
pojawiało i nie bardzo nawet kojarze jak komuś, kto nie ogarnia może to sprawiać problem.
Długie requesty - to fakt, częsty efekt radosnego wrzucania synchronized.
Co do video - to już mnie ostatecznie zniechęciło. Trzecie video, a nadal żadnych konkretów, zero kodu. Tylko banały. Prawdy zasadniczo, ale banały.
Co będzie następne?