Programowanie współbieżne to technika pozwalająca programom komputerowym na wykonywanie wielu zadań jednocześnie. Współczesne oprogramowanie praktycznie nie istnieje bez współbieżności. Wyobraźmy sobie system operacyjny, który nie pozwala uruchomić więcej niż jednej aplikacji jednocześnie albo program, którego interfejs użytkownika wciąż się zawiesza oczekując na zakończenie innych operacji.
Dlatego każdy współczesny programista prędzej czy później musi zetknąć się z programowaniem wspóbieżnym. Niestety osoby, które zaczynają tworzyć aplikacje współbieżne (wielowątkowe) bez dobrego zrozumienia tego tematu popełniają błędy, które bardzo trudno znaleźć, a które skutkują nieprzewidywalnym lub niestabilnym działaniem aplikacji.
Takich błędów można łatwo unikać znając podstawowe problemy programowania współbieżnego i metody radzenia sobie z nimi. Właśnie tym metodom poświęcony jest ten kurs.
Dowiesz się z niego czym są procesy i wątki, czym grozi niewłaściwa synchronizacja wątków w programach wielowątkowych i jak korzystać z takich narzędzi jak sekcje krytyczne, muteksy i semafory do uzyskania właściwej synchronizacji.
Przykłady programistyczne w kursie są wykonywane w języku C i systemie operacyjnym Windows, ale omawiane techniki są typowe dla innych systemów operacyjnych i praktycznie każdego języka programowania obsługującego współbieżność.
Dobre zrozumienie współbieżności jest jednym z tych elementów, które odróżniają profesjonalnego programistę od osoby zajmującej się programowaniem jedynie amatorsko. Jednocześnie jest ono często uznawane za temat trudny do zrozumienia. Dzięki naszemu kursowi z łatwością postawisz pierwsze kroki w tej dziedzinie i unikniesz wielu błędów, których naprawienie może Ci zająć bardzo dużo czasu.