[Java lista] szálkezelés?
Maglódszki Viktor
bocios at citromail.hu
2007. Jan. 30., K, 09:28:22 CET
Sziasztok !
Már nem is tudom, hogy hová soroljam a levelet :) Legyen szálkezelés az egyszerűség kedvéért.
Szeretném kihangsúlyozni, hogy a tegnapi nap elolvastam a kék Java könyv első kötetében a 15ös fejezetet "Párhuzamosság, szálkezelés".
Már-már csak félve teszem fel kérdéseimet, amik némi zavarodásból adódnak, az itt és a könyvben olvasottakból.
Igyekszem szépen érthetően, pontokban összefoglalva irni ja és írásjeleket is igyekszem használni :)
1.
Thread osztály öröklése és a Runnable interfész implementálása témakör.
A könyv nagyon sok példában a Thread-et örökölteti, persze megemlíti (és igen értem is), hogy ott a Runnable is.
Ha az osztályunk már öröklődik akkor muszály az implementálás->ok ezt értem.
Kérdésem:
Van-e valami más ok amiatt akkor is jobban járok ha implementálom a Runnable-t, minthogy örököljem a Thread osztályt?
2.
Sok féle példát mutat a szállak leállítására.
Van az alap logikai változó
while (isRunning()) .... féle megoldás running = false ha meg akarom állitani a szállat kivűlről egy synchronized stop metódusban
a könyv szerint: "...gondoskodni kell egy volatile módosítással ellátott Thread típusú refernciáról ami a futó szálra mutat."
private volatile boolean isRunning = true; (már tudom a volatile hatását is)
ezt a példát egy olyan osztályon mutatja ami kiterjeszti a Thread-et
"...a Runnable interfész esetén szükséges egy Thread, vagy annak egy alosztályára utaló referenciát definiálnunk..."
private volatile Thread runningId = this;
public void run() {
while (runningId == this) {
...
}
}
stop() {
runningId = null;
}
viszont amiben ezt a példát mutatja az is extends Thread
bár simán lehet, hogy csak nem furcsa
azt mondja a könyv, hogy a Runnable-nél kell ilyen, erre bemutatja egy olyan osztályon ami extends Thread
kérdésem: van-e valami számottevő különbség a kettő között?
előre is köszönöm!
üdv, MV
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20070130/8de0cb39/attachment-0001.html
További információk a(z) Javalist levelezőlistáról