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


Loading...
Searching...
No Matches
LuceneThread.h
Go to the documentation of this file.
1
2// Copyright (c) 2009-2014 Alan Wright. All rights reserved.
3// Distributable under the terms of either the Apache License (Version 2.0)
4// or the GNU Lesser General Public License.
6
7#ifndef LUCENETHREAD_H
8#define LUCENETHREAD_H
9
10#include "LuceneObject.h"
11
12namespace Lucene {
13
23class LPPAPI LuceneThread : public LuceneObject {
24public:
26 virtual ~LuceneThread();
27
29
30public:
31 static const int32_t MAX_THREAD_PRIORITY;
32 static const int32_t NORM_THREAD_PRIORITY;
33 static const int32_t MIN_THREAD_PRIORITY;
34
35protected:
36 threadPtr thread;
37
40 bool running;
41
42public:
44 virtual void start();
45
47 virtual bool isAlive();
48
50 virtual void setPriority(int32_t priority);
51
53 virtual int32_t getPriority();
54
56 virtual bool join(int32_t timeout = 0);
57
59 virtual void yield();
60
62 virtual void run() = 0;
63
65 static int64_t currentId();
66
68 static void threadSleep(int32_t time);
69
71 static void threadYield();
72
73protected:
75 void setRunning(bool running);
76
78 bool isRunning();
79
81 static void runThread(LuceneThread* thread);
82};
83
84}
85
86#endif
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
Base class for all Lucene classes.
Definition LuceneObject.h:31
Lucene thread container.
Definition LuceneThread.h:23
static int64_t currentId()
Return representation of current execution thread.
virtual void yield()
causes the currently executing thread object to temporarily pause and allow other threads to execute.
static void threadSleep(int32_t time)
Suspends current execution thread for a given time.
bool isRunning()
return thread running state.
static const int32_t NORM_THREAD_PRIORITY
Definition LuceneThread.h:32
static const int32_t MIN_THREAD_PRIORITY
Definition LuceneThread.h:33
virtual bool join(int32_t timeout=0)
wait for thread to finish using an optional timeout.
virtual void start()
start thread see run.
static void threadYield()
Yield current execution thread.
static const int32_t MAX_THREAD_PRIORITY
Definition LuceneThread.h:31
virtual int32_t getPriority()
return running thread priority.
virtual void setPriority(int32_t priority)
set running thread priority.
static void runThread(LuceneThread *thread)
function that controls the lifetime of the running thread.
virtual void run()=0
override to provide the body of the thread.
bool running
Flag to indicate running thread.
Definition LuceneThread.h:40
virtual bool isAlive()
return whether thread is current running.
threadPtr thread
Definition LuceneThread.h:36
void setRunning(bool running)
set thread running state.
Definition AbstractAllTermDocs.h:12

clucene.sourceforge.net