System.SyncObjs.TLightweightEvent
Delphi
TLightweightEvent = class(TSynchroObject)
C++
class PASCALIMPLEMENTATION TLightweightEvent : public TSynchroObject
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
class | public | System.SyncObjs.pas System.SyncObjs.hpp |
System.SyncObjs | System.SyncObjs |
Description
Représente un mécanisme léger de signalisation entre threads.
Les threads peuvent utiliser TLightweightEvent pour synchroniser leur activité. L'exécution des threads n'est généralement pas parfaitement indépendante. Un thread doit parfois attendre qu'un autre thread atteigne un point d'exécution spécifique.
TLightweightEvent implémente un événement de réinitialisation manuelle en utilisant seulement des opérations atomiques.
TLightweightEvent peut prendre les états suivants :
Non signalé | Les threads ne peuvent pas s'exécuter de façon indépendante. Un thread qui appelle WaitFor dépense un certain nombre de cycles dans des boucles d'attente et il peut être bloqué au niveau du noyau. |
Signalé | Les threads peuvent s'exécuter de façon indépendante. |
TLightweightEvent doit être utilisé dans des cas où les intervalles non signalés sont relativement courts. Si TLightweightEvent est utilisé dans des cas où la plupart des appels à WaitFor bloquent le thread appelant, les performances peuvent alors être légèrement inférieures en comparaison à TSimpleEvent.