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


Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
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

boost::asio::io_service io_service
 
workPtr 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 ( )

◆ ~ThreadPool()

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

Member Function Documentation

◆ _getClassName()

static String Lucene::ThreadPool::_getClassName ( )
inlinestatic

◆ execute()

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

◆ getClassName()

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

◆ getInstance()

static ThreadPoolPtr Lucene::ThreadPool::getInstance ( )
static

Get singleton thread pool instance.

◆ scheduleTask()

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

References io_service.

◆ shared_from_this()

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

Field Documentation

◆ io_service

boost::asio::io_service Lucene::ThreadPool::io_service
protected

Referenced by scheduleTask().

◆ threadGroup

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

◆ THREADPOOL_SIZE

const int32_t Lucene::ThreadPool::THREADPOOL_SIZE
staticprotected

◆ work

workPtr Lucene::ThreadPool::work
protected

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

clucene.sourceforge.net