27 #ifndef CPP_PTHREADS_THREAD_H_
28 #define CPP_PTHREADS_THREAD_H_
39 (*
static_cast<T*
>(obj))();
47 typedef void *(*routine_t)(
void*);
65 template<
typename Callable>
67 return launch(callCallable<Callable>, obj);
72 template<
typename Callable>
74 return launch(attr, callCallable<Callable>, obj);
78 int join(
void** value_ptr = 0);
93 static void exit(
void* value_ptr);
bool operator==(const Thread &other)
calls pthread_equal
int cancel()
cancel this thread
int detach()
detach a thread, the thread will be destroyed when it exits
int launch(routine_t start, void *arg=0)
start a new thread storing the id in m_data
A thread... presumably you know what this is.
int launch(Callable *obj)
start a new thread which calls the callable object
int join(void **value_ptr=0)
join a thread, calling thread blocks until this thread has exited
void *(* routine_t)(void *)
type of a function which the thread will invoke
BinaryKey other(const BinaryKey &key)
void * callCallable(void *obj)
function which invokes a callable object when that object is passed to launch a thread ...
Attributes object for type Base.
int kill(int sig)
send a signal to the thread
pthread_t c_obj()
return underlying object
static void exit(void *value_ptr)
terminates the calling thread
int launch(const Attr< Thread > &attr, Callable *obj)
start a new thread which calls the collable object and has the specified attributes ...