Ich habe eine Übungsaufgabe aus dem Netz gefischt und bearbeitet.
Dort sollten 100 Threads erzeugt werden, die dann alle eine nur ihnen eigene Nummer ausdrucken.
Ich habe dazu zwei Klassen geschrieben - diese:
...und diese:
Bei der unteren der beiden ist alles OK durchgelaufen.
Bei der OBEREN jedoch ist nach einigen Durchläufen eine Fehlermeldung aufgetreten (siehe Anhang).
Das Problem ist mit Sicherheit nicht dringend, aber: Wieso war er plötzlich nicht mehr in der Lage, einen neuen "nativen Thread" zu erzeugen? Weiß da jemand was?
Dort sollten 100 Threads erzeugt werden, die dann alle eine nur ihnen eigene Nummer ausdrucken.
Ich habe dazu zwei Klassen geschrieben - diese:
Java:
class TestThread implements Runnable
{
String s;
public TestThread(String s){ this.s=s; }
public void run(){
System.out.println(this.s);
}
public static void main(String[] args){
for(int i=1;i<=100;i++){
TestThread m = new TestThread(new Integer(i).toString());
Thread t = new Thread(m);
t.start();
}
}
}
...und diese:
Java:
class TestThread extends Thread{
String s;
public TestThread(String s){ this.s = s; }
public void run(){ System.out.println(this.s); }
public static void main(String[] args)
{
for(int i=1;i<=100;i++){
TestThread m = new TestThread(new Integer(i).toString());
m.start();
}
}
}
Bei der unteren der beiden ist alles OK durchgelaufen.
Bei der OBEREN jedoch ist nach einigen Durchläufen eine Fehlermeldung aufgetreten (siehe Anhang).
Das Problem ist mit Sicherheit nicht dringend, aber: Wieso war er plötzlich nicht mehr in der Lage, einen neuen "nativen Thread" zu erzeugen? Weiß da jemand was?
Anhänge
Zuletzt bearbeitet: