Naja, es ist ein akademisches Beispiel und man wird vermutlich sehr schön sehen können, wie sich die Threads gegenseitig auf den Füßen herumstehen.
Nur bei
einem Prozessor(kern)!
So, es ist vollbracht, nochmals besten Dank an alle für die Hilfe und Geduld!
Mein Sortieranimationsprogramm enthält nunmehr den zweiten parallelisierten Sortieralgorithmus, eben Mergesort. Der Unterschied in der Arbeitsweise zum einfachen Mergesort ist deutlich erkennbar - und genau darauf kam es mir an. Natürlich hätte ich auch mit einem Threadpool arbeiten können, doch das wäre viel komplizierter geworden, dem hätte ich mich nicht gewachsen gefühlt. Natürlich hätte ich auch nur mit 2 Threads arbeiten können, die je die beiden Teilmengen parallel mit dem klassischen Mergesort sortieren, und danach wird final verschmolzen, doch dann wäre die Multithreading-Arbeitsweise nicht so deutlich geworden, wenn, dann schon richtig.
Bitte auch auf mein letztes Edit dort achten.
Erstaunlicherweise läuft dieser Algorithmus bei mehr als 2 Prozessoren bzw. Prozessorkernen nicht nennenswert schneller, also scheint dann schon die Ausgabe "der Flaschenhals" zu sein.