# Threads prüfen, ob diese noch laufen.



## Giftstachel (10. Jun 2008)

oder durch eine exception beendet wurden.

Hallo liebe Großmeister der Programmierung.

ich suche schon seit einiger zeit nach einer möglichkeit, wie ich prüfen kann, ob die threads eines programs schon, bzw noch laufen, oder noch nicht gestartet worden sind, oder sogar schon wieder durch irgendetwas beendet. beenden heißt hier einmal sauber durch den user, und einmal "unsauber" durch eine gewollte exception.

die threads werden über die main gestartet, und liegen jeweils in eigenen klassen. ebenso können diese mehrfach  gestartet werden. die lauf-Prüfung soll aus der main erfolgen.

ich habe nun versucht dieses über 


```
meinThread1.currentThread().isInterrupted();
meinThread2.currentThread().isInterrupted();
.
.
.
```

bzw:



```
meinThread1.currentThread().getState()
meinThread2.currentThread().isAlive();
.
.
.
```

jedoch bekomme ich da nicht wirklich die aussage, ob die threads noch laufen, oder nicht.
das system versucht mir zu erzählen, das angeblich alles wunderbar läuft, obwohl ich genau sehe, das es dieses eben nicht tut. *grübel*

vielleicht ist auch nur mein gedanklicher ansatz falsch?

danke euch wie immer herzlich, wenn ihr mich von meiner seelenqual befreien könnt


----------



## tfa (10. Jun 2008)

Giftstachel hat gesagt.:
			
		

> das system versucht mir zu erzählen, das angeblich alles wunderbar läuft, obwohl ich genau sehe, das es dieses eben nicht tut. *grübel*


Du testest ja auch nur, ob der aktuelle (current) Thread läuft. Wenn da was anderes als ja rauskommt, wäre das sehr seltsam. Ruf die Methoden auf den Threads auf, die du wirklich testen willst.


----------



## Niki (10. Jun 2008)

Ein Thread läuft so lange, solange die run Methode nicht beendet ist.

```
public class MyRunnable implements Runnable{

  private boolean running = false;

  public void run(){
    running = true;
    try{
    }catch(Exception ex){

    }finally{
      running = false;
    }
  }

  public boolean isRunning(){
    return running;
  }
}
```


----------



## Giftstachel (10. Jun 2008)

jau, danke. manchmal sind die einfachsten überlegungen die besten.


----------

