Java - Threads: Unterschied zwischen den Versionen
Aus Wikizone
(Die Seite wurde neu angelegt: „ == Thread über Vererbung von Thread == *Klasse erstellen die von Thread erbt * run() Methode mit gewünschter Funktionalität überschreiben * Objekt der Klasse…“) |
|||
| Zeile 1: | Zeile 1: | ||
| + | == Links == | ||
| + | http://openbook.galileocomputing.de/javainsel9/javainsel_14_002.htm#mj45ef6b526108a654e748170e45b47506 | ||
== Thread über Vererbung von Thread == | == Thread über Vererbung von Thread == | ||
| Zeile 11: | Zeile 13: | ||
* Thread Objekt erstellen und diesem ein Objekt der neuen Klasse übergeben. | * Thread Objekt erstellen und diesem ein Objekt der neuen Klasse übergeben. | ||
* Thread mit start() starten | * Thread mit start() starten | ||
| + | |||
| + | === Beispiel === | ||
| + | <pre> | ||
| + | package com.tutego.insel.thread; | ||
| + | |||
| + | public class DateCommand implements Runnable | ||
| + | { | ||
| + | @Override public void run() | ||
| + | { | ||
| + | for ( int i = 0; i < 20; i++ ) | ||
| + | System.out.println( new java.util.Date() ); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | class CounterCommand implements Runnable | ||
| + | { | ||
| + | @Override public void run() | ||
| + | { | ||
| + | for ( int i = 0; i < 20; i++ ) | ||
| + | System.out.println( i ); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | Thread t1 = new Thread( new DateCommand() ); | ||
| + | t1.start(); | ||
| + | |||
| + | Thread t2 = new Thread( new CounterCommand() ); | ||
| + | t2.start(); | ||
| + | </pre> | ||
Version vom 9. März 2013, 17:41 Uhr
Links
Thread über Vererbung von Thread
- Klasse erstellen die von Thread erbt
- run() Methode mit gewünschter Funktionalität überschreiben
- Objekt der Klasse erstellen
- start() Methode aufrufen (nicht run() sonst läuft es nicht parallel)
Thread über implements Runnable
- Klasse erstellen die Runnable implementiert -> Vorteil extends ist frei für andere Vererbung
- Aufgabe in run() definieren
- Thread Objekt erstellen und diesem ein Objekt der neuen Klasse übergeben.
- Thread mit start() starten
Beispiel
package com.tutego.insel.thread;
public class DateCommand implements Runnable
{
@Override public void run()
{
for ( int i = 0; i < 20; i++ )
System.out.println( new java.util.Date() );
}
}
class CounterCommand implements Runnable
{
@Override public void run()
{
for ( int i = 0; i < 20; i++ )
System.out.println( i );
}
}
Thread t1 = new Thread( new DateCommand() );
t1.start();
Thread t2 = new Thread( new CounterCommand() );
t2.start();