SnapDB.Threading Namespace

The SnapDB.Threading namespace organizes all SnapDB library functionality related to commonly used integrated tools, e.g., the EventTimer class.

Classes

AtomicInt64 Represents an atomic 64-bit signed integer.
EventTimer A timer event that occurs on a specific interval at a specific offset. This class is thread safe.
HalfLock Provides a light weight exclusive lock that is approximately 2.5 times faster than Monitor. WARNING: This lock should be used in a Using block, and duplicate calls to Lock without releasing will cause a deadlock.
ReaderWriterLockEasy A simplified implementation of a ReaderWriterLockSlim. This allows for more user friendly code to be written.
SafeManualResetEvent Provides a thread safe implementation of the ManualResetEvent class.
SynchronousEventT Provides a way to raise events on another thread. The events will be raised on the thread that constructed this class.
ThreadSafeListT This list allows for iterating through the list while object can be removed from the list. Once an object has been removed, is garenteed not to be called again by a seperate thread.
TimeoutOperation Represents an operation with a timeout that can execute a callback.
TinyLock Provides a light weight exclusive lock that is approximately 2.5 times faster than Monitor. WARNING: This lock should be used in a Using block, and duplicate calls to Lock without releasing will cause a deadlock.
WeakDelegateBaseT Represents a base class for weak delegate wrappers with a specified delegate type.
WeakEventHandlerT Represents a weak event handler for events with EventArgs of type T.
WorkerThreadSynchronization Creates a synchronization helper that will assist object synchronizing in a tight inner loop.
WorkerThreadSynchronizationCallbackRequest A callback request. Cancel this request when the callback is no longer needed.

Structures

DisposableReadLock A read lock object.
DisposableWriteLock A read lock object.
HalfLockHalfLockRelease Represents a release token for a HalfLock and provides a mechanism to release the lock.
TinyLockTinyLockRelease A structure that will allow releasing of a lock. This is returned by Lock.