enlosschleife in thread beendet sich

ruutaiokwu

Top Contributor
gegeben sei folgender code:

Java:
package stresstest;

public class WebserverStressThread implements Runnable
{
    private final int threadCounter;

    /*
    private WebserverStressThread(final int threadCounter)
    {
        this.threadCounter = threadCounter;
    }
    */
    
    public WebserverStressThread(final int threadCounter)
    {
        this.threadCounter = threadCounter;
    }

    @Override
    public void run()
    {
        while (true)
        {
            System.out.println("Thread Nr. " + threadCounter);
        }
    }

    /*
    public static Runnable create(final int threadCounter)
    {
        return new WebserverStressThread(threadCounter);
    }
    */
}


gestartet wird so:

Java:
        Thread t1 = new Thread(new WebserverStressThread(1));
        t1.setDaemon(true);
        t1.start();


jedoch laufen thread und das "eigentliche" programm aneinander vorbei, und die endlosschleft bricht ab. was muss ich machen. ein daemon-thread sollte doch das richtige sein...?


EDIT: ORDER LIEGT ES AN JUNIT???

mfg, jan
 
Zuletzt bearbeitet:
Ich kann mir vorstellen, dass while(true) ausgabe ein wenig zu schnell ist und dir das Programm mangels Speicher abbricht.

Kommt keine Exception?
 
nein, wie gesagt läuft der "hauptthread" der junit-testapp an den von mir kreierten threads vorbei, und dieser bestimmt den abbruch...

manchal habe ich ein paar zeilen ausgabe, manchmal gar nichts... irgendwie geht das hab's nur nicht mehr im kopf wie's geht...

schon fast alles ausprobiert, start() und run(), mit vorherigen & nachherigem sowie ohne join(), setDaemon(boolean), yield(), etc....
 
Zuletzt bearbeitet:
that's it:

nach dem ausprobieren von x kominationen hab ich's nun geschafft:

Java:
t1.start();
         
         
         
         t2.start();
         
         
         
         t3.start();
         t1.join();
         t2.join();
         t3.join();


gruss, danke & schöner abend, jan
 

Neue Themen


Zurück
Oben