OOStuBS - Technische Informatik II (TI-II)  2.4
thread.h
gehe zur Dokumentation dieser Datei
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
2  * Technische Informatik II *
3  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
4  * *
5  * T H R E A D *
6  * *
7 \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
8 
9 #ifndef __thread_include__
10 #define __thread_include__
11 
12 /* * * * * * * * * * * * * * * * * * * * * * * * *\
13 # INCLUDES #
14 \* * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 #include "machine/context.h"
17 #include "common/queue.h"
18 
19 /* * * * * * * * * * * * * * * * * * * * * * * * *\
20 # CLASSES #
21 \* * * * * * * * * * * * * * * * * * * * * * * * */
22 
35 class Thread : public Queue::Element{
36 
37  private:
40 
45  static void kickoff(Thread* thread);
46 
47  public:
54  Thread();
55 
62  ~Thread();
63 
70  void yield();
71 
78  void exit();
79 
86  virtual void action() =0;
87 
89  friend class Dispatcher;
91  friend class Context;
92 };
93 
94 #endif