Ich habe oft gelesen, dass Parallelität und Parallelität verschiedene Dinge sind. Sehr oft gehen die Antwortenden / Kommentatoren so weit zu schreiben, dass es zwei völlig verschiedene Dinge sind. Meiner Meinung nach sind sie miteinander verwandt, aber ich hätte gerne eine Klarstellung.
Wenn ich zum Beispiel auf einer Multi-Core-CPU bin und es schaffe, die Berechnung in x kleinere Berechnungen aufzuteilen (z. B. mit Fork / Join), die jeweils in einem eigenen Thread ausgeführt werden, habe ich ein Programm, das beide parallele Berechnungen ausführt (weil angeblich an einem beliebigen Punkt in der Zeit mehrere Threads werden auf mehrere Kerne laufen) und gleichzeitig richtig sein?
Wenn ich einfach Java verwende und mich mit UI-Ereignissen und Aktualisierungen auf dem Event Dispatch-Thread beschäftige und den einzigen Thread ausführe, den ich selbst erstellt habe, habe ich ein Programm, das gleichzeitig ausgeführt wird (EDT + GC-Thread + mein Hauptthread etc.) aber nicht parallel.
Ich würde gerne wissen, ob ich das richtig hinbekomme und ob Parallelität (auf einem "Single-but-Multi-Cores" -System) immer Parallelität impliziert oder nicht.
Werden Multithread-Programme auch auf einer Mehrkern-CPU ausgeführt, bei denen die verschiedenen Threads jedoch völlig unterschiedliche Berechnungen ausführen, wird dies als "Parallelität" angesehen?