Cod: JVA-070
Durata: 12 ore
Durata: 12 ore
Descriere
In cadrul acestui training abordam elementele de baza ale Java Multithreading API. Ne uitam la sintaxa si clasele cheie si te invatam cum sa rulezi cod intr-un thread separat, cum sa sincronizezi accesul la resurse comune intr-un multithreaded environment, cum sa folosesti monitor, cum sa implementezi thread execution si multe altele.Acest curs face parte dintr-o serie de 3 dedicate multithreading. Celelalte doua trining-uri abordeaza java.util.concurrent package si asynchronous programming and ForkJoin Framework.
Subiecte curs
Intro- Multithreading si multiprocessing
- Concepte de baza – process, thread, scheduler
- Parallelism si Concurrency
- Legile lui Amdahl si Gustafson
- Tipuri de multithreading
- Aplicarea multithreading in Java
- Crearead de Threads
- Thread ca object; crearea si rularea unui thread
- Implementarea Runnable
- Extinderea clasei Thread
- Compararea Runnable si Thread
- Utilizarea ThreadFactory
- Thread lifecycle
- Thread states
Interrupting Threads
- Returning from run method
- Utilizarea sleep method
- Utilizarea interrupt method
- Metodele isInterrupted si interrupted
- Folosirea stop method
- Folosirea thread yeld
- Thread states diagram
Prioritati si demonology
- Thread priorities
- Priorities in operating system
- Demon threads
- Infrastructure threads
Synchronization – elemente de baza
- Time synchronization – time sort
- Lost update problem
- Cum sincronizam threads
- Costurile asociate synchronization
- Synchronize keyword
- Monitors
- Synchronization blocks
- Producer – Consumer pattern
- Wait, notify si thread lifecycle
- Wait vs sleep
- Producer – Consumer pattern with pipes
Deadlock
- Ce este deadlock?
- Exemple de deadlocks
Obiective
- Imbunatatirea abilitatilor de programare cu Java
Public tinta
- Programatori java incepatori si nivel mediu