@pdpacek: Szczerze mówiąc - to wątpię czy to nadal tak działa. Mamy rok 2016, charakterystyka pamięci dostępnej, szybkości procesorów i gwarantów na poziomie języków zmieniła się w ten sposób, że większość problemów, które odnoszą znaczne korzyści z paralelizacji, jest łatwa do paralelizacji. Mowa zwłaszcza o narzędziach typu Parallel.ForEach czy PLINQ. Z kolei zrównoleglanie na poziomie większych tasków jest łatwe do osiągnięcia dzięki architekturze mikroserwisów.
Naprawdę - koszt synchronizacji jest zaniedbywalnie
@Ginden Ten obrazek raczej ilustruje posługiwanie się wielowątkowością przez januszo-programistów, a nie implementację samych mechanizmów przez dany system/język.
@Ginden: Ja tu raczej widzę ilustrację przełączania wątków, blokowania zasobów i w praktyce niedeterminizmu kolejności wykonań poszczególnych fragmentów kodu (oczywiście jeśli nie stosuje się odpowiedniego modelu programowania).
Mamy rok 2016, charakterystyka pamięci dostępnej, szybkości procesorów i gwarantów na poziomie języków zmieniła się w ten sposób, że większość problemów, które odnoszą znaczne korzyści z paralelizacji, jest łatwa do paralelizacji.
Mowa zwłaszcza o narzędziach typu
Parallel.ForEachczyPLINQ. Z kolei zrównoleglanie na poziomie większych tasków jest łatwe do osiągnięcia dzięki architekturze mikroserwisów.Naprawdę - koszt synchronizacji jest zaniedbywalnie
Ten obrazek raczej ilustruje posługiwanie się wielowątkowością przez januszo-programistów, a nie implementację samych mechanizmów przez dany system/język.
Bo oni chceli mieć "parallel", a wyszo im "concurrent" ( ͡° ͜ʖ ͡°)