Lucene.Net  3.0.3
Lucene.Net is a .NET port of the Java Lucene Indexing Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Properties | List of all members
Lucene.Net.Index.ConcurrentMergeScheduler Class Reference

A MergeScheduler that runs each merge using a separate thread, up until a maximum number of threads (MaxThreadCount) 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. More...

Inherits Lucene.Net.Index.MergeScheduler.

Classes

class  MergeThread
 

Public Member Functions

 ConcurrentMergeScheduler ()
 
virtual int GetMergeThreadPriority ()
 Return the priority that merge threads run at. By default the priority is 1 plus the priority of (ie, slightly higher priority than) the first thread that calls merge.
 
virtual void SetMergeThreadPriority (int pri)
 Set the priority that merge threads run at.
 
virtual void Sync ()
 
override void Merge (IndexWriter writer)
 Run the merges provided by IndexWriter.GetNextMerge().
 
virtual void SetSuppressExceptions ()
 Used for testing
 
virtual void ClearSuppressExceptions ()
 Used for testing
 
- Public Member Functions inherited from Lucene.Net.Index.MergeScheduler
void Close ()
 
void Dispose ()
 

Static Public Member Functions

static bool AnyUnhandledExceptions ()
 Used for testing
 
static void ClearUnhandledExceptions ()
 
static void SetTestMode ()
 

Protected Member Functions

override void Dispose (bool disposing)
 Close this MergeScheduler.
 

Properties

virtual int MaxThreadCount [get, set]
 Gets or sets the max # simultaneous threads that may be running. If a merge is necessary yet we already have this many threads running, the incoming thread (that is calling add/updateDocument) will block until a merge thread has completed.
 

Detailed Description

A MergeScheduler that runs each merge using a separate thread, up until a maximum number of threads (MaxThreadCount) 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.

Definition at line 35 of file ConcurrentMergeScheduler.cs.

Constructor & Destructor Documentation

Lucene.Net.Index.ConcurrentMergeScheduler.ConcurrentMergeScheduler ( )

Definition at line 51 of file ConcurrentMergeScheduler.cs.

Member Function Documentation

static bool Lucene.Net.Index.ConcurrentMergeScheduler.AnyUnhandledExceptions ( )
static

Used for testing

Definition at line 436 of file ConcurrentMergeScheduler.cs.

virtual void Lucene.Net.Index.ConcurrentMergeScheduler.ClearSuppressExceptions ( )
virtual

Used for testing

Definition at line 492 of file ConcurrentMergeScheduler.cs.

static void Lucene.Net.Index.ConcurrentMergeScheduler.ClearUnhandledExceptions ( )
static

Definition at line 455 of file ConcurrentMergeScheduler.cs.

override void Lucene.Net.Index.ConcurrentMergeScheduler.Dispose ( bool  disposing)
protectedvirtual

Close this MergeScheduler.

Implements Lucene.Net.Index.MergeScheduler.

Definition at line 136 of file ConcurrentMergeScheduler.cs.

virtual int Lucene.Net.Index.ConcurrentMergeScheduler.GetMergeThreadPriority ( )
virtual

Return the priority that merge threads run at. By default the priority is 1 plus the priority of (ie, slightly higher priority than) the first thread that calls merge.

Definition at line 83 of file ConcurrentMergeScheduler.cs.

override void Lucene.Net.Index.ConcurrentMergeScheduler.Merge ( IndexWriter  writer)
virtual

Run the merges provided by IndexWriter.GetNextMerge().

Implements Lucene.Net.Index.MergeScheduler.

Definition at line 182 of file ConcurrentMergeScheduler.cs.

virtual void Lucene.Net.Index.ConcurrentMergeScheduler.SetMergeThreadPriority ( int  pri)
virtual

Set the priority that merge threads run at.

Definition at line 93 of file ConcurrentMergeScheduler.cs.

virtual void Lucene.Net.Index.ConcurrentMergeScheduler.SetSuppressExceptions ( )
virtual

Used for testing

Definition at line 486 of file ConcurrentMergeScheduler.cs.

static void Lucene.Net.Index.ConcurrentMergeScheduler.SetTestMode ( )
static

Definition at line 499 of file ConcurrentMergeScheduler.cs.

virtual void Lucene.Net.Index.ConcurrentMergeScheduler.Sync ( )
virtual

Definition at line 144 of file ConcurrentMergeScheduler.cs.

Property Documentation

virtual int Lucene.Net.Index.ConcurrentMergeScheduler.MaxThreadCount
getset

Gets or sets the max # simultaneous threads that may be running. If a merge is necessary yet we already have this many threads running, the incoming thread (that is calling add/updateDocument) will block until a merge thread has completed.

Definition at line 67 of file ConcurrentMergeScheduler.cs.


The documentation for this class was generated from the following file: