Hallo
Ich komme weiss hier leider nicht mehr weiter. Ich habe eine Klasse die Matrizen multipliziert und das Ergebnis dann einfach auf der Konsole ausgeben soll. Das funktioniert alles. Jetzt möchte ich das ganze mit Threads machen. Jetzt gibt es aber Probleme mit der Ausgabe auf der Konsole, da jeder Thread wie er möchte in die pringMatrix() Methode reingeht und irgendwas ausgegeben wird.
Hier erstmal der Code
Ich habe schon mehrere Sachen ausprobiert, funktioniert aber nicht wirklich. Ich denke die Beste Lösung wäre eine while -Schleife, aber ich weiss nicht so ganz was ich dort reinschreiben sollte. Müsste sowas sein wie (wenn C noch nicht komplett gefüllt). Habe auch mit sleep() versucht, funktioniert aber auch nicht.
Kann mir jemand weiterhelfen?
Ich komme weiss hier leider nicht mehr weiter. Ich habe eine Klasse die Matrizen multipliziert und das Ergebnis dann einfach auf der Konsole ausgeben soll. Das funktioniert alles. Jetzt möchte ich das ganze mit Threads machen. Jetzt gibt es aber Probleme mit der Ausgabe auf der Konsole, da jeder Thread wie er möchte in die pringMatrix() Methode reingeht und irgendwas ausgegeben wird.
Hier erstmal der Code
Java:
@Override
public void run() {
for (int i = 0; i < arrA[0].length; i++) {
C = new int[arrA.length][arrB[0].length];
int id = Integer.parseInt(Thread.currentThread().getName());
System.out.println("\nThread: " + id);
for (int j = 0; j < arrA[0].length; j++) {
for (int k = 0; k < arrB[0].length; k++)
C[i][j] += arrA[i][k] * arrB[k][j];
}
}
printMatrix(C);
System.exit(0);
}
void printMatrix(int[][] c) {
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[i].length; j++) {
System.out.print(c[i][j] + " ");
}
System.out.println();
}
}
Ich habe schon mehrere Sachen ausprobiert, funktioniert aber nicht wirklich. Ich denke die Beste Lösung wäre eine while -Schleife, aber ich weiss nicht so ganz was ich dort reinschreiben sollte. Müsste sowas sein wie (wenn C noch nicht komplett gefüllt). Habe auch mit sleep() versucht, funktioniert aber auch nicht.
Kann mir jemand weiterhelfen?