AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schubweise Prozessbearbeitung?

Ein Thema von SP-120B · begonnen am 16. Okt 2004 · letzter Beitrag vom 17. Okt 2004
Antwort Antwort
SP-120B

Registriert seit: 21. Sep 2004
24 Beiträge
 
#1

Schubweise Prozessbearbeitung?

  Alt 16. Okt 2004, 23:51
Delphi 3 stürtzt ab, und zwar ziemlich genau dann, wenn der angeordnete Rechenaufwand zu groß ist. Gibt es eine Möglichkeit die Prozedur Stück für Stück abzuarbeiten, um das Aufhängen zu verhindern? Oder irgendetwas anderes?
  Mit Zitat antworten Zitat
Elite
(Gast)

n/a Beiträge
 
#2

Re: Schubweise Prozessbearbeitung?

  Alt 16. Okt 2004, 23:58
Zitat von SP-120B:
Delphi 3 stürtzt ab, wenn der angeordnete Rechenaufwand zu groß ist ... die Prozedur Stück für Stück abzuarbeiten, um das Aufhängen zu verhindern
Wollte nur mal anmerken, dass das eine ziemlich unlogische Schlussfolgerung ist oder du hast dich falsch oder missverständlich ausgedrückt.
1. Der Rechenaufwand bleibt insgesamt der gleiche.
2. Ein Prozessor hengt sich nicht auf, nur wenn er Rechenarbeit leisten muss.
3. Was ist ein zu großer Rechenaufwand? Der schlägt sich maximal in längerer Berechnungszeit nieder. Nicht darin, dass sich der Rechner aufhengt.
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#3

Re: Schubweise Prozessbearbeitung?

  Alt 17. Okt 2004, 00:09
Wie genau äußert sich das "Aufhängen"? Kein Ram mehr, kein bla, kein blubb... Was passiert?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
SP-120B

Registriert seit: 21. Sep 2004
24 Beiträge
 
#4

Re: Schubweise Prozessbearbeitung?

  Alt 17. Okt 2004, 00:21
Ok, also:

Zum Beispiel das n-Damen Problem: Ab n=16 "reagiert das Projekt1! nicht mehr (nach circa 30 Sekunden ohne Ausgabe der Lösungen). Im Taskmanager muss ich das Programm also seperat abbrechen. Woran es letztlich scheitert, weiß ich gar nicht so genau.
Ich wollte in Erfahrung bringen, ob es eine Möglichkeit gibt auch solche umfangreichen Prozesse durchführen zu lassen. Auch minutenlange Berechnung wäre ja prinzipiell gar kein Problem. Eine wirkliche Lösung wird aber ab einem gewissen Rechenaufwand nicht mehr erlangt.
Ihr versteht?
  Mit Zitat antworten Zitat
Benutzerbild von Mystic
Mystic

Registriert seit: 18. Okt 2003
Ort: Flerzheim
420 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Schubweise Prozessbearbeitung?

  Alt 17. Okt 2004, 00:33
Es reagiert nicht mehr weil es in einer Schleife feststeckt (Deadloop). Vielleicht ist n=16 nicht möglich und er probiert endlos rum ohne zu einer Lösung zu kommen.
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  Mit Zitat antworten Zitat
SP-120B

Registriert seit: 21. Sep 2004
24 Beiträge
 
#6

Re: Schubweise Prozessbearbeitung?

  Alt 17. Okt 2004, 00:41
Nein, das ist leider nicht die Lösung. Wenn keine Lösungen vorhanden sind, wird dies korrekt angezeigt. Es sollte nur ein Beispiel für das allgemeine Problem sein: Aufwendige Berechnungen führen zuerst zu längerer Berechnungszeit (was ja auch zu erwarten ist), danach aber zum Absturz des Programmes (allerdigns nicht des Betriebssystemes).
Was ist also zu tun? Gibt es auch eine andere Möglichekeit als "mehr Ram" oder "mehr CPU"?
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Schubweise Prozessbearbeitung?

  Alt 17. Okt 2004, 00:50
Das Programm stürzt sehr wahrscheinlich garnicht wirklich ab, aber da es so beschäftigt ist kann es dem Betriebssystem nicht mehr antworten, dass ab und an bei all seinen laufenden Programmen eine Testanfrage gibt, und wenn da nichts zurück kommt, dann geht Windows davon aus, dass der Prozess tod ist, und gibt ihn als "reagiert nicht mehr" an, eben weil auf die Anfrage nicht reagiert wurde.

Abhilfe schaffen entweder Threads (die schönere, aber lernintensivere Lösung), oder aber du schmeist in deine Schleife ein "Application.ProcessMessages;" rein. Das veranlasst dein Programm auch während einer längeren Schleife kontinuierlich die Nachrichtenschlange abzuarbeiten - in welcher auch die Anfragen von Windows landen.

Delphi stürzt nicht so einfach ab .

Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
SP-120B

Registriert seit: 21. Sep 2004
24 Beiträge
 
#8

Re: Schubweise Prozessbearbeitung?

  Alt 17. Okt 2004, 01:07
Vielen Dank - ich habe mich von Windoof irreführen lassen.

Gute Nacht und einen schönen Sonntag.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz