- virtual void add_thread(struct thread *t) = 0;
- virtual struct thread * next_thread(void) = 0;
- virtual struct thread * get_current_thread(void) = 0;
-};
-
-class DefaultScheduler: public Scheduler {
-public:
- void add_thread(struct thread *t);
- struct thread * next_thread(void);
- struct thread * get_current_thread(void);
+ void add_thread(Thread *t);
+ Thread * next_thread(void);
+ Thread * get_current_thread(void);
+private:
+ std::queue<Thread *> queue;
+ Thread *current;