Home Information Classes Download Usage Mail List Requirements Links FAQ Tutorial

Thread.h
1 #ifndef STK_THREAD_H
2 #define STK_THREAD_H
3
4 #include "Stk.h"
5
6 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
7
8 #include <pthread.h>
9 #define THREAD_TYPE
10 typedef pthread_t THREAD_HANDLE;
11 typedef void * THREAD_RETURN;
12 typedef void * (*THREAD_FUNCTION)(void *);
13
14 #elif defined(__OS_WINDOWS__)
15
16 #include <windows.h>
17 #include <process.h>
18 #define THREAD_TYPE __stdcall
19 typedef unsigned long THREAD_HANDLE;
20 typedef unsigned THREAD_RETURN;
21 typedef unsigned (__stdcall *THREAD_FUNCTION)(void *);
22
23 #endif
24
25 namespace stk {
26
27 /***************************************************/
47 /***************************************************/
48
49 class Thread : public Stk
50 {
51 public:
53 Thread();
54
56 ~Thread();
57
59
64 bool start( THREAD_FUNCTION routine, void * ptr = NULL );
65
67
74 bool cancel(void);
75
77
80 bool wait(void);
81
83
88 void testCancel(void);
89
90 protected:
91
92 THREAD_HANDLE thread_;
93
94 };
95
96 } // stk namespace
97
98 #endif

The Synthesis ToolKit in C++ (STK)
©1995--2017 Perry R. Cook and Gary P. Scavone. All Rights Reserved.