Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“ (https://www.delphipraxis.net/180940-die-frage-aller-fragen-sammlung-%84ist-das-thread-safe-%93.html)

stoxx 4. Jul 2014 16:22

AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
 
Zitat:

Zitat von Mavarik (Beitrag 1264409)
Zitat:

Zitat von Dejan Vu (Beitrag 1264405)
Zitat:

Zitat von Mavarik (Beitrag 1264399)
Ich würde die Klasse nicht ThreadExecuter, sondern lieber "TSaugdenAkkuleer" oder "TCPUCycleKiller" nennen...

Nicht jeder Entwickelt für akkubetriebene Küchenschneidbretter.

Und auch nicht für Notebooks?

Komischerweise, selbst wenn man so vorgehen muss, weil es das Konzept nicht anders erlaubt, erzeugt ein Thread mit Sleep(1) in einer Schleife NULL CPU Last .. woher nimmst Du die Behauptung, dass eine CPU mit Null Last strom verbrauchen würde?
Nichtmal der Lüfter springt an..

stoxx 4. Jul 2014 16:28

AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
 
Zitat:

Zitat von Mavarik (Beitrag 1264399)



PS.: Ich habe mir hierfür eine mini Unit gemacht die so was erledigt.

Delphi-Quellcode:
unit UseMyThread;

interface

Uses System.Classes,System.SysUtils,System.SyncObjs,System.Generics.Collections;

type
  TMyThread = class(TThread)
   Private
      FRunning     : boolean;
      E_Event      : TEvent;
   Protected
      Procedure Execute;override;
   Public
      Constructor Create;
      Destructor Destroy;override;
      procedure Terminate; reintroduce; virtual;
      Procedure MyExecute;Virtual;Abstract;
      Procedure MyFree;Virtual;Abstract;
      Procedure Go;
  end;

finde ich persönlich eine ganze schlechte Architektur. Eine Threadausführung ist ein Hilfsmittel, da leitet man keine ganze Klasse davon ab.
Da es keine Mehrfachvererbung gibt, ist das unter Delphi sogar noch schlechter als in anderen Sprachen.

Und die Nachteile hab ich ja schon besprochen, es ist keine Nutzung eines gemeinsamen Threads gleichzeitig mit mehreren Objekten möglich.

Dejan Vu 4. Jul 2014 18:35

AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
 
Zitat:

Zitat von stoxx (Beitrag 1264476)
...erzeugt ein Thread mit Sleep(1) in einer Schleife NULL CPU Last ..

Bringt es etwas, zwei kleine Apps zu schreiben? Eines wartet per Event, das andere mit deiner CPU-Killer-Schleife ;-) ?

Dann misst man einfach den Stromverbrauch. Da muss man sich dann nicht streiten. Hab kein Android, sonst würde ich das vielleicht sogar selbst machen.

Mavarik 6. Jul 2014 10:26

AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
 
Zitat:

Zitat von stoxx (Beitrag 1264476)
Komischerweise, selbst wenn man so vorgehen muss, weil es das Konzept nicht anders erlaubt, erzeugt ein Thread mit Sleep(1) in einer Schleife NULL CPU Last .. woher nimmst Du die Behauptung, dass eine CPU mit Null Last strom verbrauchen würde?
Nichtmal der Lüfter springt an..

Es geht auch nicht um den Sleep, sondern um die tausenden Calls usw.

Zitat:

Zitat von stoxx (Beitrag 1264477)
Und die Nachteile hab ich ja schon besprochen, es ist keine Nutzung eines gemeinsamen Threads gleichzeitig mit mehreren Objekten möglich.

Darum geht es doch auch gar nicht... Ich will "nur" diese Funktionalität nicht jedes mal neu programmieren. Und schon garnicht 1x pro ms einen Procedure Call ausführen... :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:40 Uhr.
Seite 5 von 5   « Erste     345   

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