Forum: Object-Pascal / Delphi-Language
by himitsu,
7. Nov 2014
Wo?
Also zumindestens nicht im Original. :stupid:
Die Frage ist auch, ob man hier wirklich eine Lösung braucht, oder man man nicht besser einen "ordentlichen" und vorallem praxisnaheren Code verwendet.
Forum: Object-Pascal / Delphi-Language
by himitsu,
7. Nov 2014
Und keiner gibt dem MainThread Zeit diese zu verarbeiten.
Das passiert alles erst nach dem Ende der Methode, bzw. beim Anzeigen des Abbruch-Dialogs.
Forum: Object-Pascal / Delphi-Language
by himitsu,
7. Nov 2014
Jeder Thread bekommt vom System ein "Fenster" von paar Millisekunden, in dem es einen Kern nutzen kann, bevor Windows den Kern für den nächsten Thread freimacht.
Mit einem Sleep(0) kann man sein "Fenster" sofort abbrechen ... damit Windows nicht "sinnlos" den Thread weiter behandelt, obwohl er "jetzt" nichts mehr machen will.
Was ist das denn für ein PC?
Wieviele Kerne gibt es und wie sind...
Forum: Object-Pascal / Delphi-Language
by himitsu,
7. Nov 2014
16 Kerne für einen Office+Internet-PC sind also besser als 8?
Forum: Object-Pascal / Delphi-Language
by himitsu,
6. Nov 2014
Da windows die Prozesse nicht an einen Kern bindet, und die sowieso ständig in und aus den Kernen schiebt (es gibt ja mehr Threads als Kerne), kann es passieren, daß Windows den Prozess auch in mehreren Kernen laufen lässt. Natürlich nicht gleichzeitig, sondern nacheinander, so daß in der Gesamtrechnung ein Thread dennoch nicht mehr als einen Thread auslastet.
PS: Drum bringt es auch wenig...
Forum: Object-Pascal / Delphi-Language
by himitsu,
1. Nov 2014
Entweder du machst was falsch, oder du hast den Code nicht ganz verstanden. :wink:
Ja, du drückst sofort ESC und somit kommt der Dialog auch sofort.
Und nicht die ESC-Taste zu lange drücken. :warn:
-> Wenn Taste gedrückt, dann zeige den Dialog an und frag nach, ob wirklich abgebrochen werden soll.