homedukeOOP mit Java: Die Thread Klasse Prof. Dr. Uwe Schmidt FH Wedel

Die Thread Klasse

weiter

weiter

Das Interface Runnable

Schnittstelle
Die Methode run eines Objekts enthält die im Thread auszuführenden Anweisungen
 
public
interface Runnable {
  public
  abstract
  void run();
}

weiter

Die Klasse Thread

Konstruktoren
Erzeugen eines Threads
 
public Thread()
 
Erzeugen eines Threads mit eigenem Namen
 
public Thread(String name)
 
Erzeugen eines Threads für ein Objekt mit run-Methode
 
public Thread(Runnable obj)
 
Erzeugen eines Threads für ein Objekt mit run-Methode mit eigenem Namen
 
public Thread(Runnable obj,
              String name)
Weitere Konstruktoren: Thread
weiter
Methoden
run
die in einem Thread auszuführenden Anweisungen
 
void run()
weiter
start
einen Thread starten
 
void start()
weiter
stop
destroy
einen Thread anhalten oder zerstören.
 
void stop()
void destroy()
schlecht
Diese Methoden sind missbilligt (deprecated), sollten also nicht mehr verwendet werden.
Sie bergen die Gefahr von Verklemmungen (dead locks), da die Threads zwar beendet werden, aber belegte Monitore nicht wieder freigegeben werden.
weiter
sleep
den aufrufenden Thread für eine Zeit, in Millisekunden, schlafen legen
 
static
void sleep(long millis)
  throws InterruptedException
weiter
weiter
join
auf die Beendigung eines anderen Threads warten.
 
void join()
weiter
weiter
suspend
die Ausführung eines Threads aussetzen
 
void suspend()
weiter
resume
die Ausführung eines Threads nach einem suspend fortsetzen
 
void resume()
schlecht
suspend und resume sind aus den gleichen Grüden wie bei stop und destroy ebenfalls missbilligt.
weiter
setName
getName
den Namen eines Thread setzen oder erfragen
 
void setName(String name)
 
String getName()
weiter
currentThread
den gerade aktiven Thread erfragen, eine statische Methode
 
static Thread currentThread()
 
... currentThread() ...  // Resultat: der Thread,
                         //  von dem aus diese Methode aufgerufen wird
weiter
interrupt()
einen (anderen) Thread unterbrechen
in einem Thread eine Boolsche Größe isInterrupted setzen.
weiter
isInterrupted()
den Wert der Boolschen Größe isInterrupted abfragen.
 
sleep, wait und join lösen eine InterruptedException aus, wenn sie durch interrupt() gestört werden.
Die Boolesche Marke wird dabei nicht zurückgesetzt,
dieses kann mit der Methode interrupted() gemacht werden.
weiter
weiter
setPriority
getPriority
die Priorität setzen oder erfragen
 
void setPriority(int newPriority)
 
int getPriority()
weiter
Weitere Methoden: Thread
weiter

Letzte Änderung: 18.06.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel