IGLib  1.7.2
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IG.Lib.ThreadPulser Class Reference

Launches (immediately upon creation) a thread that performs pulsing on its object. PulseAll is perfomed on its Lock object every time the object is pulsed from another thread. This object acts as kind of proxy for pulsing and provides the object used for locking and pulsing. More...

Public Member Functions

virtual void PrepareForPulsing ()
 Performs evantual preparation of data before pulsing is performed. More...
 
void TriggerPulsing ()
 Triggers pulsing performed by this object's thread. More...
 

Protected Member Functions

virtual void ThreadMethod ()
 

Properties

bool PrintNotes [get, set]
 If true then various events and actions will be notified by console output (for testing purposes only!). More...
 
Thread ThreadObject [get, protected set]
 
object TriggerLock [get]
 Object used to trigger pulsing and for related locking. Whenever Monitor.Pulse() is performed on this object, the main thread of the current object will perform Monitor.Pulse(PulsingLock). More...
 

Private Member Functions

void PulseThread ()
 

Private Attributes

bool _printNotes = false
 
Thread _thread
 
object _triggerLock = new object()
 

Detailed Description

Launches (immediately upon creation) a thread that performs pulsing on its object. PulseAll is perfomed on its Lock object every time the object is pulsed from another thread. This object acts as kind of proxy for pulsing and provides the object used for locking and pulsing.

Member Function Documentation

void IG.Lib.ThreadPulser.PulseThread ( )
inlineprivate
virtual void IG.Lib.ThreadPulser.PrepareForPulsing ( )
inlinevirtual

Performs evantual preparation of data before pulsing is performed.

void IG.Lib.ThreadPulser.TriggerPulsing ( )
inline

Triggers pulsing performed by this object's thread.

virtual void IG.Lib.ThreadPulser.ThreadMethod ( )
inlineprotectedvirtual

Member Data Documentation

bool IG.Lib.ThreadPulser._printNotes = false
private
Thread IG.Lib.ThreadPulser._thread
private
object IG.Lib.ThreadPulser._triggerLock = new object()
private

Property Documentation

bool IG.Lib.ThreadPulser.PrintNotes
getset

If true then various events and actions will be notified by console output (for testing purposes only!).

Thread IG.Lib.ThreadPulser.ThreadObject
getprotected set
object IG.Lib.ThreadPulser.TriggerLock
get

Object used to trigger pulsing and for related locking. Whenever Monitor.Pulse() is performed on this object, the main thread of the current object will perform Monitor.Pulse(PulsingLock).


The documentation for this class was generated from the following file: