*klugscheißermodus::an*
Männers, bitte verwechselt nicht Multi-Core mit Multi-Threading! Selbst ein Single-Core kann mehrere Threads verwalten/bedienen/handhaben. Sobald man aber eine Applikation in mehrere Threads unterteilt, werden auch spezielle Anforderungen an selbige gestellt. Vor allem in Bezug auf das Timing der verschiedenen Threads im Multi-Tasking. Wenn dann die einzelnen Threads noch ens auf verschiedene Cores verteilt werden, wird es noch mal ne Ecke brenzliger. Wenn da dann "schei$$e gebaut wird", kann es passieren, dass die einzelnen Kerne sich dann überwiegend dahingehend unterhalten, wer denn nun die Arbeit machen soll anstatt die eigentlich anfallenden Arbeiten zu erledigen. Im schlimmsten Fall führt das dann zu einer 100% CPU Auslastung, bei der dann aber auch rein gor nüschts mehr passiert. Klingt doch ganz so wie in einem mittlerweile standartmäßigem mittelständischen Unternehmen heutzutage

woll ... immer mehr Wasserköppe ham immer mehr zu sagen und dann passiert es, dass 3 Sichtleiter einen Maschinisten bedienen: Sichtleiter 1 gibt Anweisung A, Sichtleiter 2 gibt Anweisung B, usw. und das alles zur gleichen Zeit. Wenn wir Glück haben, bleibt der Maschinist cool und macht es so wie bisher !?!? Von entscheidender Bedeutung ist das Grunddesign einer Applikation in Bezug auf Multi-Threading, Multi-Cores. Wenn es denn dann "vernünftig" angefangen/umgesetzt wird, spielt es keine Rolle wie viele reale/virtuelle Kerne ein System besitzt ... zum Beispiel gibt es in Programmiersprachen Thread-Sichere bzw. Thread-Unsichere Objekte bzw. Konstrukte und/oder Funktionen.
*klugscheißermodus::aus*
Ich hoffe ich bin jetzt nicht zu sehr ins Detail gegangen !?!?
Gruß
Frank
PS: Korrekturen und Richtigstellungen sind ausdrücklich erwünscht!