DelayedSynchronizedOperation Class

Represents a short-running synchronized operation that cannot run while it is already in progress. Async operations will execute on the thread-pool after the specified Delay in milliseconds.

Definition

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

Remarks

By default, the action performed by the DelayedSynchronizedOperation is executed on the ThreadPool when running the operation asynchronously. When the operation is set to pending, the action is executed in an asynchronous loop on the thread pool until all pending operations have been completed. Since the action is executed on the thread pool, it is best if it can be executed quickly, without blocking the thread or putting it to sleep. If completion of the operation is critical, such as when saving data to a file, this type of operation should not be used since thread pool threads are background threads and will not prevent the program from ending before the operation is complete.

Constructors

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

Properties

CancellationToken Gets or sets CancellationToken to use for cancelling actions.
(Inherited from SynchronizedOperationBase)
Delay Gets or sets the amount of time to wait before execution, in milliseconds, for any asynchronous calls. Zero value will execute immediately.
IsPending Gets flag indicating if the synchronized operation has an additional operation that is pending execution after the currently running action has completed.
(Inherited from SynchronizedOperationBase)
IsRunning Gets flag indicating if the synchronized operation is currently executing its action.
(Inherited from SynchronizedOperationBase)

Methods

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
ExecuteAction Executes the action once on the current thread.
(Inherited from SynchronizedOperationBase)
ExecuteActionAsync Executes the action on a separate thread after the specified Delay.
(Overrides SynchronizedOperationBaseExecuteActionAsync)
Factory Factory method to match the SynchronizedOperationFactory signature.
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.
(Inherited from SynchronizedOperationBase)
Run Executes the action on another thread after the specified Delay in milliseconds or marks the operation as pending if the operation is already running. Method same as RunAsync for DelayedSynchronizedOperation.
RunAsync Executes the action on another thread after the specified Delay in milliseconds 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 another thread after the specified Delay in milliseconds. Does nothing if the operation is already running. Method same as TryRunAsync for DelayedSynchronizedOperation.
TryRunAsync Attempts to execute the action on another thread after the specified Delay in milliseconds. Does nothing if the operation is already running.

Fields

DefaultDelay Defines the default value for the Delay property.

See Also