First page Back Continue Last page Overview Graphics
Multithreading 1
OS – multitasking (kooperativní, preemptivní)
Aplikace – multithreading – “paralelní” běh více částí progr.
- Serverové aplikace (obsluha více klientů)
- GUI aplikace, blokující I/O operace, síťová komunikace
- Lepší využití víceprocesorových systémů, škálovatelnost
- Thready x procesy
- Sdílená data (efektivita x problémy)
- Z hlediska OS menší režie s vytvářením/rušením threadů
- Samotná Java potřebuje thready (GC na pozadí čistí paměť)
- Komplexní problematika (nejen ve vztahu k Javě)
- Concurrent Programming in Java
- Třída java.lang.Thread (run,start,sleep,isInterupted,isAlive, yield,wait,join spousta dpr. metod – stop,suspend,resume)
- Rozhraní java.lang.Runnable (run)
- synchronized (metody, blok), volatile – přístup, deadlock
- Lze synchronizovat i statické metody (zámek na “třídu”)