Tworząc aplikacje pracujące w systemach współbieżnych, jak i rozproszonych, każdy programista wcześniej czy później stanie przed problemem synchronizacji dostępu wątków/procesów do obszaru zasobów współdzielonych, zwłaszcza pamięci, czy to w celu komunikacji między procesami, czy w celu odczytu/modyfikacji współdzielonych danych. Żądanie dostępu do danych może nastąpić jednocześnie w kilku wątkach, co wprowadza problem rywalizacji o zasoby. Sytuacja taka wymusza synchronizację dostępu do zasobów przez wątki, tak aby z jednej strony wykluczyć modyfikowanie wspólnych zasobów jednocześnie przez kilka wątków, a z drugiej strony zagwarantować pełną współbieżność...
Niektóre zagadnienia poruszane w tym artykule:
Artykuł pochodzi magazynu Programista nr 77 (10/2018). Jest to wydanie z przełomu grudnia 2018 r. i stycznia 2019 r. Szczegółowy spis treści: https://programistamag.pl/programista-10-2018-77/
Autorem artykułu jest Grzegorz Jurek. Programista C++. Z wykształcenia fizyk teoretyczny. Pracuje obecnie w łódzkim centrum R&D LTE firmy Ericsson. Prywatnie autor rozwiązań w zakresie oprogramowania CAD/CAM i ERP dla przemysłu odzieżowego.