# Parameter an einen Thread übergeben



## Guest (26. Mrz 2008)

Hallo,

ich habe ein Programmfragement, dass mit Hilfe eines Threads in regelmäßigen Abständen ausgeführt wird. 

Das Programmfragment, dass über den Thread aufgerufen wird soll immer nach einer bestimmten Datei in einem Verzeichnis suchen. Zum Zeitpunkt der Threaderzeugung weiß ich, um welches Datei es sich dabei handelt. Innerhalb  des Threads benötige ich also sowas wie eine Variable die diesem Thread zugeordnet ist. Diese Variable spiegelt den Namen der zu suchenden Datei wieder.


```
Thread t1 = new Thread("C:\Datei1.txt");
Thread t2 = new Thread("C:\Datei2.txt");
```


```
class Thread
{
      String zuSuchendeDatei 
 
      public Thread(String zuSuchendeDatei)
      {
           this.zuSuchendeDatei = zuSuchendeDatei;
      }
}
```

Könnt ihr mir sagen, wie ich sowas umsetzen kann? Muß ich eine eigene Klasse von der Klasse Thread ableiten?


----------



## Niki (26. Mrz 2008)

So:


```
public class MyRunnable implements Runnable{

  private File file = null;

  public MyRunnable(File file){
    this.file = file;
  }

  public void run(){
    //tu was mit dem file
  }

}
```

Und dann irgendwo halt:

```
Runnable r = new MyRunnable(new File("C:/temp/file1.txt"));
Thread t = new Thread(r);
t.start();
```


----------



## Maeher (26. Mrz 2008)

Ich würde eine Klasse von Thread ableiten, das ist das einfachste, wie ich finde.
Deren Variablen kannst du im Konstruktor initialisieren und dann auch aus der run()-Methode darauf zugreifen.


----------



## Gast (26. Mrz 2008)

jo genauso klappts


----------



## Janus (26. Mrz 2008)

von thread sollte man nur ableiten, wenn man tatsächlich zugriff auf die interna des thread objekts benötigt. eine klasse, die das runnable interface implementiert ist wesentlich flexibler.


----------

