Skip to content

gemstone/threading

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gemstone logo

Threading

GPA Gemstone Library

The Gemstone Threading Library organizes all Gemstone functionality related to threading.

GitHub license Build status CodeQL NuGet

This library includes helpful threading classes like the following:

  • ShortSynchronizedOperation:
    • Represents a short-running synchronized operation, i.e., an Action, that cannot run while it is already in progress. Specifically, the class has the ability to execute an operation on another thread or mark the operation as pending if the operation is already running. When an operation is pending and the current operation completes, the operation will run again, once, regardless of the number of requests to run. See RunAsync and TryRunAsync methods.
    • See also: LongSynchronizedOperation and DelayedSynchronizedOperation.
  • Strand:
    • Schedules tasks in a FIFO queue and executes them in a synchronized asynchronous loop.
  • PriorityStrand:
    • Schedules tasks in a collection of FIFO queues and executes them in priority order.
  • PriorityQueue:
    • Represents a thread-safe prioritized first in-first out (FIFO) collection.
  • ConcurrencyLimiter:
    • Task scheduler that limits the number of tasks that can execute in parallel at any given time.

Among others.

Documentation

Full Library Documentation