Ten kurs jest częścią ścieżki:
Java Developer
tworzenia wątków w języku JAVA
sterowania pracą wątków za pomocą metody join()
praktycznego zastosowania słów kluczowych volatile oraz synchronized
kontrolowania dostępu do zasobów za pomocą Lock
efektywnego tworzenia grup wątków z wykorzystaniem ExecutorService
praktycznego wykorzystania klas Semaphore, CountDownLatch czy CyclicBarrier
optymalizowania aplikacji poprzez dzielenie złożonych obliczeń pomiędzy wątkami
pisania aplikacji uwzględniając potencjalne zagrożenia: Deadlock, Livelock czy Starvation
Jeżeli chciałbyś rozwinąć swoje umiejętności programowania w języku Java i sprawić, aby Twoje programy w pełni wykorzystywały możliwości sprzętu, na którym są uruchamiane, to ten kurs jest właśnie dla Ciebie. Dzięki niemu poznasz najważniejsze mechanizmy programowania wielowątkowego. Wiele z nich jest tematem rozmów i zadań rekrutacyjnych, jeżeli więc starasz się o pracę jako Java Developer, ten kurs będzie z pewnością dobrym wyborem.
W dzisiejszych czasach producenci procesorów prześcigają się w dodawaniu kolejnych rdzeni do swoich produktów. Aby w pełni wykorzystać możliwości tych układów programy na nich uruchamiane powinny być dostosowane do pracy w środowisku wielowątkowym. Jeżeli chcesz pisać nowoczesne, płynnie działające aplikacje, to umiejętność programowania wielowątkowego okaże się nie tylko przydatna, ale wręcz niezbędna. To szkolenie pozwoli Ci w przystępny sposób zdobyć wiedzę na temat wielowątkowości i wprowadzi Cię do tematyki optymalizacji za pomocą praktycznych przykładów.
Na początku tego kursu zajmiemy się podstawami dotyczącymi wątków. Nauczysz się je tworzyć, uruchamiać, a także sterować ich pracą korzystając z takich metod jak sleep() czy join(). Poznasz również sposoby na zatrzymywanie wątku i dowiesz się, w jaki sposób wątek, którego praca została nagle wstrzymana, może zapisywać dane i uwalniać zasoby. Wszystkiego nauczysz się nie w teorii, a podczas pracy z realnym kodem aplikacji.
W trakcie kursu pokażę Ci, w jakich sytuacjach wykorzystywać słowo kluczowe volatile, które gwarantuje, że wątki odczytujące wartość zmiennej będą zawsze widziały jej aktualną wartość. Zrozumiesz również zasadę działania słowa kluczowego synchronized i dowiesz się, w których miejscach w kodzie możesz go używać. W kursie nie ograniczymy się do teorii, oba te mechanizmy będziemy często wykorzystywać w kodzie.
Dzięki temu szkoleniu będziesz miał okazję poznać nie tylko podstawy pracy z wielowątkowością języka JAVA, ale też bardziej zaawansowane techniki kodowania. Dowiesz się jak ograniczać dostęp do zasobów, korzystając z obiektów implementujących interfejs Lock. Szybko stworzysz pulę wątków, korzystając z ExecutorService. Zsynchronizujesz ich pracę za pomocą obiektów CountDownLatch czy CyclicBarrier. To kurs wypełniony po brzegi przykładami mechanizmów, które pomogą Ci poskromić moc wielowątkowości i wykorzystać ją w praktyczny sposób. Poznaj je, a programy, które stworzysz, będą bardziej efektywne niż kiedykolwiek.
W trakcie kursu zajmujemy się zaawansowanymi aspektami programowania w JAVA, więc znajomość co najmniej podstawowych zagadnień związanych z tym językiem będzie wymagana. Wszystkie umiejętności możesz zdobyć dzięki innym naszym szkoleniom.