C# (CSharp) GSF.Threading Namespace

Nested Namespaces

GSF.Threading.Test

Classes

Name Description
ActionExtensions Defines extension methods for actions.
ActionExtensions.DelayCancellationToken
AtomicInt64 Since 64 bit reads/asignments are not atomic on a 32-bit process, this class wrapps the Interlocked class to if using a 32-bit process to ensure atomic reads/writes.
CompatibleCancellationToken
DedicatedSynchronizedOperation
DisposableCallback A struct that executes a certain action upon disposing. The intended use for this is inside of a using block to assist in the proper release of a lock. Being a struct, it is unsafe make copies of this struct as Dispose may be called multiple times.
DisposableReadLock A read lock object
DisposableWriteLock A read lock object
EventTimer A reoccurring timer that fires on a given interval. This event timer will always fire at the top of the specified interval. If the callback takes too long, the next interval will be skipped.
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.
HalfLock.HalfLockRelease A structure that will allow releasing of a lock. This is returned by Lock.
LoadingAdjustedTimestamp This will provide the user with a timestamp based upon system loading. This timestamp will only move forward in time and may advance rapidly when trying to catch up with system time.
ManagedThreadPool Defines a managed thread pool
ManagedThreads Maintains a reference to all managed threads
RateLimiter A rate limiting system based on tokes.
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
ScheduledTask
SharedTimer Represents a timer class that will group registered timer event callbacks that operate on the same interval in order to optimize thread pool queuing.
SharedTimerScheduler Represents a timer manager which is the scheduler of SharedTimer.
SharedTimerScheduler.SharedTimerInstance
ShutdownHandler This class will monitor the state to the application and raise events when it detects that the application is about to shutdown.
StateMachine Helps facilitate a multithreaded state machine.
SynchronizedOperationBase Base class for operations that cannot run while they is already in progress.
ThreadContainerBase
ThreadContainerBase.CallbackArgs
ThreadContainerBase.State State variables for the internal state machine.
ThreadContainerDedicated
TimeoutOperation
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.
TinyLock.TinyLockRelease A structure that will allow releasing of a lock. This is returned by Lock.
WaitHandleExtensions Defines extension functions related to manipulation wait handle objects.
WeakAction
WeakActionFast Provides a high speed weak referenced action delegate. This one does not use reflection, so calls will be faster. HOWEVER: a strong reference MUST be maintained for the Action delegate passed to this class. This reference is outputted in the constructor. Careful consideration must be made when deciding where to store this strong reference, as this strong reference will need to also lose reference. A good place would be as a member variable of the object of the target method.
WorkerThreadSynchronization Creates a synchronization helper that will assist object synchronizing in a tight inner loop.
WorkerThreadSynchronization.CallbackRequest A callback request. Cancel this request when the callback is no longer needed.