Java - Threads: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
(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

http://openbook.galileocomputing.de/javainsel9/javainsel_14_002.htm#mj45ef6b526108a654e748170e45b47506

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();