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


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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 
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