Programowanie wielowątkowe w języku Java

Opis szkolenia

Szkolenie przeznaczone dla programistów języka Java, którzy chcą rozszerzyć swoje kompetencje w kierunku implementacji rozwiązań wielowątkowych lub obliczeń równoległych. Szkolenie wprowadza od podstaw kluczowe aspekty programowania współbieżnego wykorzystując w tym celu gotowe bliblioteki oraz implementacje własnych niskopoziomowych rozwiązań.

Niezależnie czy dopiero rozpoczynasz z aplikacjami wielowątkowymi czy projektowałeś już wcześniej tego typu rozwiązania, na pewno szkolenie dostarczy Ci wiele przydatnej wiedzy popartej praktycznymi przykładami.

Terminy gwarantowane

Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to że na 100% się odbędzie we wskazanym czasie i miejscu.
Więcej

Szkolenia online i udział online

Szkolenia online odbywają się na żywo z udziałem trenera. Grupy są równie nieliczne jak przy tradycyjnych stacjonarnych szkoleniach w JSystems i liczą zwykle 7-9 osób. W każdym szkoleniu stacjonarnym możesz brać udział online.
Więcej

Inne szkolenia tej kategorii

W ramach kategorii Java mamy jeszcze wiele szkoleń. Sprawdź jakie!

Vouchery

Istnieje możliwość wykupienia vouchera z roczną ważnością. Można zakupić przedpłaconą usługę szkoleniową w jednym okresie rozliczeniowym, a zrealizować w innym.

Więcej
Szkolenie stacjonarne 1800,00 PLN (netto)
Udział online 1500,00 PLN (netto)
Czas trwania 3 dni

Czy wiesz, że możemy takie szkolenie zorganizować specjalnie dla Twojej firmy?

Dowiedz się więcej

Czego się nauczysz?

  1. Wprowadzenie do programowania wielowątkowego
    • Przykłady programów wykonywany liniowo
    • Przykłady programów wykonywanych wielowątkowo
    • Przykłady programów wykonywanych równolegle
  2. Wielowątkowość w Javie
    • Definicja wątku
      • Klasa Thread
      • Interfejs Runnable
      • Wyrażenie lambda
    • Parametry wątków
      • Nazwa
      • Priorytet
      • Stan
      • Grupa
    • Cykl życia wątków
      • Stan NEW
      • Stan RUNNABLE
      • Stan WAITING
      • Stan TIME_WAITING
      • Stan BLOCKED
      • Stan TERMINATED
    • Współpraca między wątkami
      • Praca równoległa
      • Synchronizacja
      • Wywłaszczanie
      • Blokowanie
      • Współdzielenie pamięci
  3. Proces
    • Proces a wątek
    • Komunikacja między procesami
    • Przegląd rozwiązań JEE
    • Niskopoziomowe API procesów w Javie
  4. Koordynacja wątków
    • Istotne metody koordynacji wątków
      • start
      • run
      • sleep
      • wait i time_wait
      • join
      • interrupt
      • notify i notifyAll
    • Sekcja krytyczna
      • Synchronizacja wątków
      • Blokowanie wątków
      • Dobre praktyki
    • Zagrożenia wynikające z wielowątkowości
      • Ograniczenia cyklu życia
      • deprecated w Thread
      • Livelock
      • Brak atomowości
    • Zagrożenia blokowania wątków
      • Monitory
      • Hazard
      • Starvation
      • Deadlock
    • Monitorowanie pracy wątków za pomocą narzędzia jConsole
  5. Zadania
    • Wykonywanie zadań
    • Omówienie interfejsów
      • Callable
      • Future
      • Delayed
    • Pule wątków
      • Klasa Executor
      • Klasa Executors
      • Klasa ExecutorService
      • Klasa ThreadPoolExecutor
      • Klasa ScheduledThreadPoolExecutor
  6. Kolekcja w programowaniu wielowątkowym
    • Cechy kolekcji wielowątkowych
    • Kolekcje współbieżne i blokujące
      • BlockingQueue
      • LinkedBlokingQueue
      • SynchronizedMap
      • SynchronizedList
  7. Operacje atomowe
    • Definicja atomowości
    • Problemy wynikające z braku atomowości
    • Unikanie problemów wynikających z braku atomowości
      • Stałe
      • Dane lokalne
    • Bariery pamięci
      • Stałe
      • Synchronizacja
      • Volatile
      • lazySet
      • CAS
    • Klasy atomowe
    • Operacje CAS w API
      • ava.util.concurrent.atomic
      • java.lang.invoke
  8. Zaawansowana koordynacja wątków
    • Definicja i zastosowania monitora - Monitor
    • Definicja i zastosowania blokady - Lock
    • Zastosowania blokad w koordynacji wątków
    • Implementacje klas blokujących
    • Inne klasy blokujące
      • Semaphore
      • CountDownLatch
      • CyclicBarrier
      • Phaser
      • Exchanger
      • SynchronousQueue
  9. Asynchroniczna praca z operacjami I/O
    • Asynchroniczna praca z plikami
    • Asynchroniczna praca z TCP/IP
  10. Wzorce implementacji rozwiązań wielowątkowych
    • Wzorce blokowania
    • Wzorce współpracy
    • Wzorce zarządzania wątkami
    • Wzorce obsługi zdarzeń
    • Wzorce wywołań asynchronicznych
    • Wzorce inicjalizacji
  11. Przetwarzanie równoległe
    • Przykłady algorytmów rekurencyjnych
    • Metody zrównoleglenia algorytmów rekurencyjnych
  12. Wielowątkowość w GUI
    • Wielowątkowość w JavaFX
    • Klasa Task
    • Klasa Service
    • Problemy wynikające z wielowątkowości w GUI
    • Dobre praktyki

Najbliższe terminy tego szkolenia

Co wyróżnia szkolenia Java w JSystems?

Szkolenia na wysokim poziomie
Instruktorzy praktycy z wieloletnim doświadcze- niem
Znaczna część szkolenia to warsztaty
Komfortowe sale i przestrzeń wspólna
Małe grupy szkoleniowe
Gwarantowane terminy szkoleń
Dużo ćwiczeń
Przystępne ceny

Kto będzie Cię uczyć?

Michał Kruczkowski

Paweł Urban

Potrzebujesz więcej informacji?

Wiadomość wysłana

Przyjęliśmy Twoją wiadomość i skontaktujemy się z Tobą w tej sprawie

Klikając OK wrócisz do formularza

Nasza strona korzysta z plików cookie. Możesz zmienić zasady ich używania lub zablokować pliki cookie w ustawieniach przeglądarki. Więcej informacji można znaleźć w Polityce prywatności. Kontynuując korzystanie ze strony, wyrażasz zgodę na używanie plików cookie.