Strand Class

Schedules tasks in a FIFO queue and executes them in a synchronized asynchronous loop.

Definition

Namespace: Gemstone.Threading.Strands
Assembly: Gemstone.Threading (in Gemstone.Threading.dll) Version: 1.0.110 -- Release Build+13c244059615c58a533059438f38d7e59ef0c2ea
public class Strand : TaskScheduler
Inheritance
Object    TaskScheduler    Strand

Constructors

Strand Creates a new instance of the Strand class with a ShortSynchronizedOperation.
Strand(SynchronizedOperationFactory) Creates a new instance of the Strand class.

Properties

IdGets the unique ID for this TaskScheduler.
(Inherited from TaskScheduler)
MaximumConcurrencyLevel Indicates the maximum concurrency level this TaskScheduler is able to support.
(Overrides TaskSchedulerMaximumConcurrencyLevel)

Methods

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
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)
GetScheduledTasks For debugger support only, generates an enumerable of Task instances currently queued to the scheduler waiting to be executed.
(Overrides TaskSchedulerGetScheduledTasks)
GetTypeGets the Type of the current instance.
(Inherited from Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
QueueTask Queues a Task to the scheduler.
(Overrides TaskSchedulerQueueTask(Task))
ToStringReturns a string that represents the current object.
(Inherited from Object)
TryDequeue Attempts to dequeue a Task that was previously queued to this scheduler.
(Overrides TaskSchedulerTryDequeue(Task))
TryExecuteTaskAttempts to execute the provided Task on this scheduler.
(Inherited from TaskScheduler)
TryExecuteTaskInline Attempts to executes a task inline, but only if this method is called on the processing thread to avoid parallel execution of tasks.
(Overrides TaskSchedulerTryExecuteTaskInline(Task, Boolean))

See Also