Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Waitable Timers - Namensfrage (https://www.delphipraxis.net/201164-waitable-timers-namensfrage.html)

ISMIRSCHLECHT 28. Jun 2019 12:21

Waitable Timers - Namensfrage
 
Hallo,

ich bin auf waitable Timers gestoßen und überlege, ob ich sie in eigenen Projekten anwenden sollte.
Dabei geht es immer um Multithreading.
Erste kleine Testanwendungen sind vielversprechend, zumal die Prozessorlast auch bei 100 Threads nicht nennenswert ist.
Nun muß ja jedem Timerobjekt ein Name gegeben werden.
Frage: Muß der im Programm einmalig sein ?
Mein Testprogramm läuft nämlich auch, wenn alle Timer den gleichen Namen haben.
Gruss
ism

Moombas 28. Jun 2019 12:55

AW: Waitable Timers - Namensfrage
 
Selbst wenn die Timer den gleichen Namen haben können, stelle dir die Frage der Sinnhaftigkeit.

Geb den Timern aussagekräftige, eindeutige Namen und du solltest dir deine Frage nicht stellen müssen und es trägt zum Verständnis des Codes bei.

peterbelow 28. Jun 2019 13:33

AW: Waitable Timers - Namensfrage
 
Zitat:

Zitat von ISMIRSCHLECHT (Beitrag 1435551)
Hallo,

ich bin auf waitable Timers gestoßen und überlege, ob ich sie in eigenen Projekten anwenden sollte.
Dabei geht es immer um Multithreading.
Erste kleine Testanwendungen sind vielversprechend, zumal die Prozessorlast auch bei 100 Threads nicht nennenswert ist.
Nun muß ja jedem Timerobjekt ein Name gegeben werden.
Frage: Muß der im Programm einmalig sein ?
Mein Testprogramm läuft nämlich auch, wenn alle Timer den gleichen Namen haben.
Gruss
ism

Wie eine Reihe anderer Kernel-Objekte (Mutex, Semaphor, memory mapped files etc.) kann man auch waitable timers einen Namen geben, aber das ist nur notwendig, wenn man ein existierendes Objekt später anhand des Namens finden und öffnen will. Das ist meist nur nützlich, wenn man ein solches Objekt aus mehreren Prozessen heraus verwenden will. Prozess-intern ist das Handle des Timers die eindeutige Identifikation, ein Name wird nicht benötigt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:42 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