IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.

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...

List of all members.

Public Member Functions

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

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!).
Thread ThreadObject [get, 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).

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 ( ) [inline, private]
virtual void IG::Lib::ThreadPulser::PrepareForPulsing ( ) [inline, virtual]

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 ( ) [inline, protected, virtual]

Member Data Documentation

bool IG::Lib::ThreadPulser::_printNotes = false [private]
object IG::Lib::ThreadPulser::_triggerLock = new object() [private]

Property Documentation

bool IG::Lib::ThreadPulser::PrintNotes [get, set]

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

Thread IG::Lib::ThreadPulser::ThreadObject [get, 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:
 All Classes Namespaces Files Functions Variables Enumerations Properties Events