Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#5

AW: Threadunterbrechung - nicht mit suspend

  Alt 6. Mai 2015, 20:37
So, Yield hat intern auch nur ein sleep(x). Das Ergebnis ist mithin leider das gleiche wie mit sleep(0).

Und warum willst du, dass der Thread an einer bestimmten Stelle unterbrochen wird? Mir erschließt sich nicht so ganz der Sinn dabei.
Luckie, das kannst Du gern wissen: Besorg Dir eines meiner aktuellen Sortierkinos und lasse den Algorithmus "Quicksort parallel (Multithreading)" auf zwei verschiedenen Windows mit Mehrkernprozessor ablaufen, eines bis XP, eines danach (meine Experimentierfelder sind einmal XP und dann noch ein Windows 7, auf 8.1 könnte ich es auch mal testen). Um besser zu sehen, worauf es mir ankommt, solltest Du die Darstellung ausbremsen.

Während auf XP die zeitliche Parallelität gut zu erkennen ist (gleichzeitige Partionierung der Sortierteilmengen), ist es auf Windows 7 anders: Da wird immer nur eine Teilmenge partitioniert, und das, obwohl mehrere bis etliche Threads gleichzeitig am Laufen sind (eigentlich). Das ist im Vergleich zu vorher unschön, schlichtweg ein Rückschritt. Irgendetwas ist auf Windows 7 (vermutlich ab Vista) in der Threadablaufsteuerung anders. Nun dachte und hoffte ich, daß man mit "provozierten" Threadunterbrechungen Windows (7) zu mehr Gleichzeitigkeit, die man optimalerweise sogar sehen könnte, bewegen könnte, aber leider Fehlanzeige. Muß es also erstmal so bleiben, wie es ist.

Geändert von Delphi-Laie ( 6. Mai 2015 um 21:08 Uhr)
  Mit Zitat antworten Zitat