SynchronizedOperationBase Class

Base class for operations that cannot run while they is already in progress.

Definition

Namespace: Gemstone.Threading.SynchronizedOperations
Assembly: Gemstone.Threading (in Gemstone.Threading.dll) Version: 1.0.110 -- Release Build+13c244059615c58a533059438f38d7e59ef0c2ea
public abstract class SynchronizedOperationBase : ISynchronizedOperation
Inheritance
Object    SynchronizedOperationBase
Derived
Implements
ISynchronizedOperation

Remarks

This class handles the synchronization between the methods defined in the ISynchronizedOperation interface. Implementers should only need to implement the ExecuteActionAsync method to provide a mechanism for executing the action on a separate thread.

If subclass implementations get constructed without an exception handler, applications should attach to the static SuppressedException event so that any unhandled exceptions can be exposed to a log.

Constructors

SynchronizedOperationBase(Action) Creates a new instance of the SynchronizedOperationBase class.
SynchronizedOperationBase(ActionCancellationToken) Creates a new instance of the SynchronizedOperationBase class.
SynchronizedOperationBase(Action, ActionException) Creates a new instance of the SynchronizedOperationBase class.
SynchronizedOperationBase(ActionCancellationToken, ActionException) Creates a new instance of the SynchronizedOperationBase class.

Properties

CancellationToken Gets or sets CancellationToken to use for cancelling actions.
IsPending Gets flag indicating if the synchronized operation has an additional operation that is pending execution after the currently running action has completed.
IsRunning Gets flag indicating if the synchronized operation is currently executing its action.

Methods

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
ExecuteAction Executes the action once on the current thread.
ExecuteActionAsync Executes the action on a separate thread.
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
ProcessException Processes an exception thrown by an operation.
Run Executes the action on current thread or marks the operation as pending if the operation is already running.
RunAsync Executes the action on another thread or marks the operation as pending if the operation is already running.
ToStringReturns a string that represents the current object.
(Inherited from Object)
TryRun Attempts to execute the action on current thread. Does nothing if the operation is already running.
TryRunAsync Attempts to execute the action on another thread. Does nothing if the operation is already running.

See Also