Hallo zusammen!
Wir haben in der FH gerad eine Aufgabe bei der wir die Geschwindigkeit eines Raytracers verbessern sollen. Genutzt werden sollen Threads und MPJ.
Ich habe alles soweit fertig aber nun bin ich vorhin auf die Idee gekommen nur soviele Threads wie Kerne vorhanden sind zu starten.
Mein Problem liegt in der Deklaration der Variablennamen für die Threads.
Dynamisch Namen zu erzeugen geht ja leider nicht oder doch? Wäre schön, wenn mir jemand nen Tip geben könnte, wie ich das lösen kann.
Mein bisheriges Ergenis sieht so aus:
Folgendes wird wahrscheinlich ncht klappen oder? Er muss ja irgendwie anhand der cores, die Threads erstellen und hiermit würd er ja th immerwieder neu erstellen und keinen weiteren Thread richtig?
Wir haben in der FH gerad eine Aufgabe bei der wir die Geschwindigkeit eines Raytracers verbessern sollen. Genutzt werden sollen Threads und MPJ.
Ich habe alles soweit fertig aber nun bin ich vorhin auf die Idee gekommen nur soviele Threads wie Kerne vorhanden sind zu starten.
Mein Problem liegt in der Deklaration der Variablennamen für die Threads.
Dynamisch Namen zu erzeugen geht ja leider nicht oder doch? Wäre schön, wenn mir jemand nen Tip geben könnte, wie ich das lösen kann.
Mein bisheriges Ergenis sieht so aus:
Code:
public void trace() throws IOException
{
tcount.set(0);
Thread t1 = new Thread(this);
Thread t2 = new Thread(this);
Thread t3 = new Thread(this);
t1.start();
t2.start();
t3.start();
run();
try {
th.join();
t1.join();
t2.join();
t3.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Folgendes wird wahrscheinlich ncht klappen oder? Er muss ja irgendwie anhand der cores, die Threads erstellen und hiermit würd er ja th immerwieder neu erstellen und keinen weiteren Thread richtig?
Code:
Thread th;
tcount.set(0);
for (int i = 0; i < cores; i++){
th = new Thread(this);
th.start();
}
try {
th.join();