Curs Java Multithreading

Acest training abordeaza subiecte legate de multithreading, concurenta si programare paralela in Java – de la aspecte de baza pana la elemente API complexe folosite pentru a scrie cod asincron.
Cod: JVA-054
Durata: 16 ore

Descriere

Acest training abordeaza subiecte legate de multithreading, concurenta si programare paralela in Java – de la aspecte de baza pana la elemente API complexe folosite pentru a scrie cod asincron. Fiecare modul al training-ului se concentreaza pe unul din elementele API precum Threads, Locks sau Synchronizers. Cursul nu acopera instrumente externe sau librarii.

Subiecte curs

Teorie
  • Multithreading si multiprocessing
  • Concepte de baza – process, thread, scheduler
  • Parallelism si Concurrency
  • Legile lui Amdahl si Gustafson
  • Tipuri de multithreading
  • Aplicatie multithreading in Java

Crearea Threads
  • Thread ca obiect; crearea si rularea unui thread
  • Implementare Runnable
  • Extinderea Thread class
  • Compararea Runnable si Thread
  • Utilizarea ThreadFactory
  • Thread lifecycle
  • Thread states

Intreruperea Threads
  • Returning from run method
  • Utilizarea sleep method
  • Utilizarea interrupt method
  • isInterrupted si interrupted methods
  • Folosirea stop method
  • Folosirea thread yield
  • Diagrama thread states

Prioritati si demonology
  • Prioritati thread
  • Prioritati in sistemele de operare
  • Demon threads
  • Infrastructure threads

Sincronizare – elemente de baza
  • Time synchronization – time sort
  • Lost update problem
  • Modalitati de sincronizare a threads
  • Costurile sincronizarii
  • Synchronize keyword
  • Monitors
  • Synchronization blocks
  • Producer – Consumer pattern
  • Wait, notify si thread lifecycle
  • Wait vs sleep
  • Producer – Consumer pattern with pipes

Deadlock
  • Ce este un deadlock?
  • Example de deadlocks

Valori volatile si atomice
  • Memory access performance
  • CPU memory model
  • Compiler si CPU
  • Java memory model
  • volatile keyword
  • Algoritmul CAS
  • Atomic References
  • Atomic counter example

Colectii
  • Lost insert (update) problem
  • Colectii sincronizate
  • Concurrent library
  • Concurrent collections
  • Queue si Deque
  • BlockingQueue

Lock si semaphore
  • Lock interface
  • Condition in locks
  • ReadWriteLock
  • Semaphore interface

Synchronizers
  • Introducere – unde sa punem semaphore si unde sa punem synchronizer
  • CountDownLatch
  • TransportTyconTutor – exemplu complex de utilizare a synchronizers si semaphores!
  • CyclicBarrier
  • Phaser
  • Phaser phases si tutor

Executor Framework
  • De ce avem nevoie de ExecutorFramework
  • Executor si ExecutorService
  • ThreadPool
  • Programarea tasks
  • Rularea tasks
  • Oprirea tasks
  • Future interface

ForkJoinFramework
  • De ce avem nevoie de ForkJoinFramework
  • Elemente de baza – algoritmul divide and conquer
  • Limitari
  • Elemente – Pool si task
  • Recursive actions si tasks
  • Common workflow
  • Cautare asincrona

Programare asincrona
  • Programare asynchronous si synchronous
  • Interfata CompletableFuture
  • Chaining si composing CompletableFutures
  • Method sumary

Stocare date in Threads
  • Sharing runnable objects intre threads
  • Overriding values in objects
  • ThreadLocal Store

Managementul exceptiilor
  • Exceptii in aplicatii multithreading
  • Managementul Exception cu UncatchingExceptinoHandler

Obiective

Imbunatatirea abilitatilor de programare in Java.

Public tinta

Programatori Java de orice nivel care vor sa invete elemente avansate ale API.

Inregistreaza-te pentru urmatorul curs.
+
Inregistrarea la urmatorul curs va asigura prioritatea pe lista de inscriere. Veti fi contactat pentru confirmarea inscrierii in momentul in care urmatorul curs este programat.
Bucuresti 1496 RON
Cracovia 1496 RON
Wroclaw 1496 RON

Facturile pentru curs sunt emise in moneda locala. Toate preturile de mai sus pot fi supuse modificarilor in functie de locul unde se desfasoara trainingul si modul de livrare. Preturile pot fi supuse modificarilor si in perioada in care se programeaza. Pentru persoane fizice pretul este cel afisat. Pentru persoane juridice se adauga TVA.

Alte cursuri care te-ar putea interesa:

Inscrie-te la

Prenume*
Nume*
Companie
Adresa email*
Alege oras
Telefon
Observatii
Luxoft Warsaw - Warsaw Spire, plac Europejski 1, 00-844 Warszawa
Dimitrie Pompeiu nr 5-7 , building C, Et. 5, sect 2, Bucharest, 014459

Contact phone:

021 371 4858
Luxoft Poland Wroclaw - Silver Tower pl. Konstytucji 3-go Maja 3 50-048 Wroclaw
Aleja Generała Tadeusza Bora-Komorowskiego 25, Quattro Business Park Five, 31-476 Kraków, Poland

Contact phone:

+48 122110650
Success
Iti multumim.
Inregistrarea ta a fost trimisa.