A {@link MergeScheduler} that runs each merge using a separate thread, up until a maximum number of threads ({@link #setMaxThreadCount}) at which when a merge is needed, the thread(s) that are updating the index will pause until one or more merges completes. This is a simple way to use concurrency in the indexing process without having to create and manage application level threads.

The ConcurrentMergeScheduler..::..MergeThread type exposes the following members.

Constructors

  NameDescription
Public methodConcurrentMergeScheduler..::..MergeThread
Initializes a new instance of the ConcurrentMergeScheduler..::..MergeThread class

Methods

  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetRunningMerge
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodRun (Overrides ThreadClassRun()()()().)
Public methodSetRunningMerge
Public methodSetThreadPriority
Public methodToString (Overrides ThreadClassToString()()()().)

Properties

  NameDescription
Public propertyEnclosing_Instance

See Also