Programowanie wielowątkowe w języku Java

by:
Czas trwania 3 dni

Najbliższe terminy tego szkolenia

Udział online 1500 PLN (netto)
Szkolenie stacjonarne 1800 PLN (netto)

Skuteczność

W naszej pracy nadrzędną wartością jest skuteczność szkoleń. Jako programiści rozumiemy, że w nauce chodzi przede wszystkim o skuteczność. Wszystkie elementy procesu szkolenia, od doboru właściwego trenera do przemyślanej warsztatowej formuły są po to, by to osiągnąć. Doskonalimy się w tym od 2008 roku. Możesz więc na nas polegać!

Program szkolenia

  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

Opis szkolenia

Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!

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. Uczestniczy łączą się na szkolenie za pomocą platfomy ZOOM. Informacje o wymaganym niezbędnym oprogramowaniu oraz informacje organizacyjne uczestnicy otrzymują na 7 dni przed datą rozpoczęcia szkolenia. W każdym szkoleniu stacjonarnym możesz brać udział online. Więcej
Inne szkolenia tej kategorii Sprawdź pozostałe szkolenia Java!
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

Trenerzy kategorii Java

Michał Gellert
Marcin Dzierżak

Masz jakieś pytania? Skontaktuj się z nami!

Odpowiadamy na telefony i maile w godzinach 9:00-17:00 od poniedziałku do piątku.

Szkolenia otwarte 22 299 53 69
Szkolenia zamknięte i grupy 733 908 205
Napisz do nas

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.