Java 2 Útikalauz programozóknak 5.0

Az elte.java2_utikalauz5.thread csomag

A Párhuzamosság fejezet példaprogramjai.

Tovább lásd:
          részletes leírás

Osztályok
AtomicMeasure Zárolás és atomi növelés összehasonlítása.
AtomicMeasure.AtomicUpdater  
AtomicMeasure.LockUpdater  
DaemonThread Démon szál indítás.
DaemonThread.Regular  
Downloader Korlátozott számú szállal letöltő példaprogram.
ExtendedThread Programszálak örökléssel.
Interrupt Interrupt-ot bemutató program.
JoinTeszt Példa join használatára.
JoinTeszt.MyThread1  
JoinTeszt.MyThread2  
Logo Egy képet forgat külön szálon.
Priority Példa priorítások használatára.
ReentrantLockTeszt Termelő - fogyasztó probléma reentráns lakattal.
ReentrantLockTeszt.Consumer  
ReentrantLockTeszt.IntQueue  
ReentrantLockTeszt.Producer  
ReentrantReadWriteLockTeszt Író/olvasó probléma reentráns író-olvasó lakattal.
RunnableThread Programszálak interfésszel.
RWTeszt Író/olvasó probléma synchronized megoldással.
SimpleCount1 Egyszerű számláló példa hibás kiírással.
SimpleCount2 Egyszerű számláló példa rendes sorrenddel.
Slides Példa szál terminálás megvárására.
StopThread1 Egy lehetséges megoldás a stop() helyettesítésére.
StopThread2 Egy lehetséges megoldás a stop() helyettesítésére Thread hivatkozással.
SuspendResume1 Felfüggesztés.
SuspendResume2 Felfüggesztési példa.
SzalCsoport1 Szálcsoport infok.
SzalCsoport2 Szálcsoport egyben kezelése.
SzalCsoport3 Szálak egyszeri megszakítása.
ThreadLocalTeszt Lokális szálváltozók.
ThreadLocalTeszt.MyThreadLocal Ez lesz az az osztály, ami példányosítva tartalmazza a szálankénti objektumot (itt éppen egy egyedi dátum).
Ticker Metronóm.
TimeSlice Időosztás vizsgálata.
TimeWriter Másodpercenként kiírjuk az aktuális időt.
WaitNotify Termelő - fogyasztó probléma szinkronizációs üzenetekkel.
WaitNotify.Consumer  
WaitNotify.IntQueue  
WaitNotify.Producer  
 

package elte.java2_utikalauz5.thread

A Párhuzamosság fejezet példaprogramjai.

A 70-es évek felismerése, hogy a feladat komplexitásának leküzdésére új absztrakciós eszközöket kell bevezetni. Ez idő tájt három fő irányzat határozta meg a programozási nyelvek fejlesztésének vonulatát: az absztrakt adattípus kifejlesztése, kivételkezelés és a párhuzamos feldolgozás. Ez utóbbi azért is fontos, mert a valós idejű alkalmazások jelentős részét képzik az operációs rendszerek, a folyamatszabályzó, a helyfoglalási rendszerek, stb. fejlesztése. Azon nyelvek, melyek ilyen jellegű fejlesztéseket akarnak támogatni, a programozó számára lehetővé kell, hogy tegyék a párhuzamosan végrehajtható programok definiálását. A nyelv tervezői számára az egyik legfontosabb szempont, hogy olyan eszközöket biztosítsanak, amivel az eljárások szinkronizálhatók. 1966 és 71 között dolgozták ki a szemafor, a monitor fogalmát és a szinkron üzenetátadás eszközeit a folyamatok szinkronizálására.
Tartalomjegyzék a hivatkozott referenciákkal és felhasznált képekkel:
Párhuzamosság a számítástechnikában
Folyamatok, szálak
  • Képek:
    • Alapfogalmak a folyamatokban
    • Szálak
Párhuzamosság és erőforrás-használat
Mikor alkalmazzunk szálakat?
Szálak használata
Hogyan készítsünk szálakat?
Hatékony szálindítás
Ütemezett szálindítás
Szálcsoportok
Számláló, listázó metódusok
Csoportot kezelő metódusok
A csoport szálaival foglalkozó metódusok
Démon szálak
Prioritások
  • Referenciák:
Önző és udvarias szálak
Lokális szálváltozók
Szinkronizáció
Monitoros szinkronizáció
Szinkronizáció üzenetekkel
Szálak összekapcsolása
Zárolás
További eszközök
Védett változók
volatile változók
Atomi típusok
Szinkronizált adattárolók
Konkurens adattárolók
Futásvezérlés
Felfüggesztés
Megszakítás
Leállítás
Szálak állapotai
Futtatható és futó állapot
Blokkolt állapot
Várakozó állapot
Terminált állapot
Visszatekintés

Szerző:
Dezső Balázs, Frohner Ákos, Selmeci Attila
Forrásfájl:
package-info.java

Java 2 Útikalauz programozóknak 5.0