Lecture overview -- Keyboard shortcut: 'u'  Previous page: Trådskabelse gennem subklasse af Thread -- Keyboard shortcut: 'p'  Next page: Egenskaber af klassen Thread -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Page 14 : 41
Forelæsningsnoter i Objekt-orienteret Programmering
Samtidighed i Java
Trådskabelse ved implementering af Runnable

Som et alternativ kan man lave sin egen klasse som implementerer interfacet Runnable. En instans af denne klasse skal dog overgives til en instans af Thread for at kunne virke som en tråd i et Java program

Ofte kan man ikke tillade sig at lave en subklasse af Thread, idet en 'tråd-klasse' har behov for at arve fra en anden klasse

Der er derfor behov for en alternativ teknik til skabelse af en tråd i Java, hvor Thread objektet delegerer run arbejdet til et andet objekt

class SecondThread implements Runnable{

  Tråd tilstand;
  
  SecondThread(parametre){
    Tråd initialisering;
  }

  public void run() {
    Tråd program start;
  }
}

...
SecondThread st = new SecondThread(aktuelle parametre);
Thread realTread = new Thread(st, "Anden tråd");
realThread.start();
...

Installering af af en 'Runnable objekt' i et Thread objekt'. Læg mærke til at instansen af SecondThread overføres som den første parameter til Thread konstruktoren. Den pågældende Thread constructor vil aktivtere run i Runnable objektet i stedet for at kalde run i thread objektet. Slå selv op i Threads konstruktor dokumentation, og bliv overbevist.