};
struct TimerThread : public ThreadBase {
- TimerThread() : msec(0) {}
+ TimerThread() : run(false) {}
virtual void idle_loop();
- int msec;
+ bool run;
+ static const int Resolution = 5; // msec between two check_time() calls
};
/// ThreadPool struct handles all the threads related stuff like init, starting,
-/// parking and, the most important, launching a slave thread at a split point.
+/// parking and, most importantly, launching a slave thread at a split point.
/// All the access to shared thread data is done through this class.
struct ThreadPool : public std::vector<Thread*> {
void init(); // No c'tor and d'tor, threads rely on globals that should
- void exit(); // be initialized and valid during the whole thread lifetime.
+ void exit(); // be initialized and are valid during the whole thread lifetime.
MainThread* main() { return static_cast<MainThread*>((*this)[0]); }
void read_uci_options();