Lucene++ - a full-featured, c++ search engine
API Documentation
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
include
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
12
namespace
Lucene {
13
23
class
LPPAPI
LuceneThread
:
public
LuceneObject
{
24
public
:
25
LuceneThread
();
26
virtual
~
LuceneThread
();
27
28
LUCENE_CLASS
(
LuceneThread
);
29
30
public
:
31
static
const
int32_t MAX_PRIORITY;
32
static
const
int32_t
NORM_PRIORITY
;
33
static
const
int32_t
MIN_PRIORITY
;
34
35
protected
:
36
threadPtr
thread
;
37
40
bool
running
;
41
42
public
:
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
73
protected
:
75
void
setRunning(
bool
running);
76
78
bool
isRunning();
79
81
static
void
runThread(
LuceneThread
* thread);
82
};
83
84
}
85
86
#endif
clucene.sourceforge.net