Lucene++ - a full-featured, c++ search engine
API Documentation


Loading...
Searching...
No Matches
Lucene::ThreadPool Class Reference

Utility class to handle a pool of threads. More...

#include <ThreadPool.h>

Inheritance diagram for Lucene::ThreadPool:

Public Member Functions

 ThreadPool ()
virtual ~ThreadPool ()
virtual String getClassName ()
boost::shared_ptr< ThreadPoolshared_from_this ()
template<typename FUNC>
FuturePtr scheduleTask (FUNC func)
Public Member Functions inherited from Lucene::LuceneObject
virtual ~LuceneObject ()
virtual void initialize ()
 Called directly after instantiation to create objects that depend on this object being fully constructed.
virtual LuceneObjectPtr clone (const LuceneObjectPtr &other=LuceneObjectPtr())
 Return clone of this object.
virtual int32_t hashCode ()
 Return hash code for this object.
virtual bool equals (const LuceneObjectPtr &other)
 Return whether two objects are equal.
virtual int32_t compareTo (const LuceneObjectPtr &other)
 Compare two objects.
virtual String toString ()
 Returns a string representation of the object.
Public Member Functions inherited from Lucene::LuceneSync
virtual ~LuceneSync ()
virtual SynchronizePtr getSync ()
 Return this object synchronize lock.
virtual LuceneSignalPtr getSignal ()
 Return this object signal.
virtual void lock (int32_t timeout=0)
 Lock this object using an optional timeout.
virtual void unlock ()
 Unlock this object.
virtual bool holdsLock ()
 Returns true if this object is currently locked by current thread.
virtual void wait (int32_t timeout=0)
 Wait for signal using an optional timeout.
virtual void notifyAll ()
 Notify all threads waiting for signal.

Static Public Member Functions

static String _getClassName ()
static ThreadPoolPtr getInstance ()
 Get singleton thread pool instance.

Protected Member Functions

template<typename FUNC>
void execute (FUNC func, const FuturePtr &future)
Protected Member Functions inherited from Lucene::LuceneObject
 LuceneObject ()

Protected Attributes

io_context_t io_context
work_t work
boost::thread_group threadGroup
Protected Attributes inherited from Lucene::LuceneSync
SynchronizePtr objectLock
LuceneSignalPtr objectSignal

Static Protected Attributes

static const int32_t THREADPOOL_SIZE

Detailed Description

Utility class to handle a pool of threads.

Constructor & Destructor Documentation

◆ ThreadPool()

Lucene::ThreadPool::ThreadPool ( )

Referenced by _getClassName().

◆ ~ThreadPool()

virtual Lucene::ThreadPool::~ThreadPool ( )
virtual

Member Function Documentation

◆ _getClassName()

String Lucene::ThreadPool::_getClassName ( )
inlinestatic

References ThreadPool().

◆ execute()

template<typename FUNC>
void Lucene::ThreadPool::execute ( FUNC func,
const FuturePtr & future )
inlineprotected

Referenced by scheduleTask().

◆ getClassName()

virtual String Lucene::ThreadPool::getClassName ( )
inlinevirtual

◆ getInstance()

ThreadPoolPtr Lucene::ThreadPool::getInstance ( )
static

Get singleton thread pool instance.

◆ scheduleTask()

template<typename FUNC>
FuturePtr Lucene::ThreadPool::scheduleTask ( FUNC func)
inline

◆ shared_from_this()

boost::shared_ptr< ThreadPool > Lucene::ThreadPool::shared_from_this ( )
inline

Field Documentation

◆ io_context

io_context_t Lucene::ThreadPool::io_context
protected

Referenced by scheduleTask().

◆ threadGroup

boost::thread_group Lucene::ThreadPool::threadGroup
protected

◆ THREADPOOL_SIZE

const int32_t Lucene::ThreadPool::THREADPOOL_SIZE
staticprotected

◆ work

work_t Lucene::ThreadPool::work
protected

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

clucene.sourceforge.net