- bool available_slave_exists(Thread* master) const;
- void wait_for_think_finished();
- void start_thinking(const Position&, const Search::LimitsType&,
- const std::vector<Move>&, Search::StateStackPtr&);
-
- template <bool Fake>
- Value split(Position& pos, Search::Stack* ss, Value alpha, Value beta, Value bestValue, Move* bestMove,
- Depth depth, Move threatMove, int moveCount, MovePicker& mp, int nodeType);
-
- bool sleepWhileIdle;
- Depth minimumSplitDepth;
-
-private:
- friend struct Thread;
- friend struct MainThread;
- friend void check_time();
-
- std::vector<Thread*> threads;
- TimerThread* timer;
- Mutex mutex;
- ConditionVariable sleepCondition;
- int maxThreadsPerSplitPoint;