Einzelnen Beitrag anzeigen

Delphi-Laie

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

AW: Threadunterbrechung - nicht mit suspend

  Alt 10. Mai 2015, 11:49
Da hatte ich ja das richtige Gefühl, dass es nicht an Windows liegt.
Ganz so eindeutig ist die Schuldfrage hier aus meiner Sicht nicht, Luckie. Immerhin wurde eindeutig etwas an Windows verändert. Analogum: Die neuen Styles übernehmen ab Windows Vista (?) das Neuzeichnen meistens, man kann demnach ein beschäftigtes Single-Thread-Programm nicht mehr wie früher "weißwischen". Wenn ein Programmierer für Windows bis XP sich darauf einstellt und später dieses Neuzeichnen für den Programmablauf wichtig ist, es aber fehlt, ist er dann "schuld"? Programmierer sind einen erheblichen Teil ihrer Arbeitszeit damit beschäftigt, ihre Programme an die neusten Eigenheiten des jeweiligen Betriebsprogrammes anzupassen, ja, sich die nötigen Informationen dazu erstmal zu beschaffen, aber wem sage ich das?

Daß in dem einen Falle das Einbetten einer Synchronize-Prozedur (die m.E. per se "kritisch geschützt" ist) nötig ist, nämlich beim Multithreading-Mergesort, in dem anderen Falle, beim Multithreading-Quicksort hingegen in neueren Windows (wohl ab Windows 7) die Gleichzeitigkeit bis zur völligen Serialität (immer nur ein Thread anscheinend aktiv) abmindert, darauf muß man erstmal kommen. Ich kam nicht gedanklich, sondern letztlich nur über Experimente darauf.

Jedenfalls funktioniert es jetzt so, wie ich es beabsichtigte, auch in modernen Windows. Daniels Hinweis mit der CriticalSection führte mich auf die entscheidende Fährte. Vielen Dank Euch allen!

Geändert von Delphi-Laie (10. Mai 2015 um 13:23 Uhr)
  Mit Zitat antworten Zitat