AGB  ·  Datenschutz  ·  Impressum  







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

[Threads] auf Suspended warten

Ein Thema von sieppl · begonnen am 16. Sep 2004 · letzter Beitrag vom 20. Nov 2005
 
asdfg
(Gast)

n/a Beiträge
 
#9

Re: [Threads] auf Suspended warten

  Alt 20. Nov 2005, 16:26
Zitat von Der_Unwissende:
Rechenzeit wird mit Application.ProcessMessages freigegeben.

Aber bist du dir sicher, dass du auf ein Suspend warten möchtest? Sollte Suspend nicht durch den Hauptthread gesetzt werden um den Thread zu unterbrechen? Wenn du jedenfalls auf irgendwas wartest gibt es folgende Möglichkeiten

Delphi-Quellcode:
// Wartezeit ms warten und währenddessen Rechenzeit freigeben

var ticks : Int64;
begin
  ticks := GetTickCount;
  while not (GetTickCount - time) >= Wartezeit do
    begin
      Application.ProcessMessages;
    end;
end;

// Warten bis irgendeine Bedingung erfüllt ist
begin
  while not Bedingung do
    begin
      Application.ProcessMessages;
    end;
end
http://www.delphicorner.f9.co.uk/articles/op1.htm
Zitat:
it's totally inefficient. While Application.ProcessMessages allows a program to continue to receive and process messages it receives, it still eats up CPU time because all it's doing is yielding temporarily, then going back to its original state, meaning it constantly activates and deactives.
http://www.ibrtses.com/delphi/threads.html
Zitat:
Beside waiting for a TEvent, there are WaitForSingleObject and WaitforMultipleObjects

WaitForSingleObject allows waiting for a variety of events : ChangeNotification, ConsoleInput, Event, Mutex, Process termination, Semaphore, Thread termination, Timer.
WaitforSingleObject(Handle_of_the_object,timeout);
WaitforMultipleObjects can wait for a number of events at the same time. It is what the ADA 'select' statement does.
WaitForMultipleObjects(NumberOfEvents,PtrToHandleA rray,WaitAll,timeout);
man kann das doch mit WaitForSingleObject machen. dafür benötigt man einen Timeout. Kann man das Timeout berechnen oder deaktiveren
  Mit Zitat antworten Zitat
 


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 18:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz