Guten Tag,
ich befasse mich gerade zum ersten Mal etwas mehr mit Concurrency. Ich habe eine mathematische Konstruktion die ich über Multi-Threading lösen möchte.
Dabei sollen eine fixe Anzahl von Threads benutzt werden, die sich jeweils eigenständig auf die Suche nach einem brauchbaren Ergebnis machen.
Hat ein Thread ein Ergebnis gefunden, so soll das Ergebnis gespeichert werden und alle anderen Threads beenden ihre Berechnungen. Die Main-Funktion soll dabei solange anhalten, bis ein brauchbares Ergebnis von einem Thread generiert wurde.
Hier mein aktueller Code:
https://pastebin.com/g0muSaww
1. Frage: ist der Code so brauchbar/in Ordnung?
2. Frage: das Programm macht im Prinzip schon was es soll, allerdings läuft in der main-funktion die Anweisung einfach weiter, wie kann ich der Main-Funktion verklickern, dass er warten soll bis "doStuff" fertig ist?
Ich hab in dem Code die Mathematik heraus genommen und durch ein simples "suche mir die Zahl 10 heraus" ersetzt.
Vielen Dank schon mal für eure Hilfe :-)
ich befasse mich gerade zum ersten Mal etwas mehr mit Concurrency. Ich habe eine mathematische Konstruktion die ich über Multi-Threading lösen möchte.
Dabei sollen eine fixe Anzahl von Threads benutzt werden, die sich jeweils eigenständig auf die Suche nach einem brauchbaren Ergebnis machen.
Hat ein Thread ein Ergebnis gefunden, so soll das Ergebnis gespeichert werden und alle anderen Threads beenden ihre Berechnungen. Die Main-Funktion soll dabei solange anhalten, bis ein brauchbares Ergebnis von einem Thread generiert wurde.
Hier mein aktueller Code:
https://pastebin.com/g0muSaww
1. Frage: ist der Code so brauchbar/in Ordnung?
2. Frage: das Programm macht im Prinzip schon was es soll, allerdings läuft in der main-funktion die Anweisung einfach weiter, wie kann ich der Main-Funktion verklickern, dass er warten soll bis "doStuff" fertig ist?
Ich hab in dem Code die Mathematik heraus genommen und durch ein simples "suche mir die Zahl 10 heraus" ersetzt.
Vielen Dank schon mal für eure Hilfe :-)