41 #ifndef Core_Thread_Parallel2_h
42 #define Core_Thread_Parallel2_h
68 Parallel2(T* obj,
void (T::*pmf)(
int, Arg1, Arg2), Arg1
a1, Arg2
a2);
74 void (T::*
pmf_)(int, Arg1, Arg2);
78 virtual void run(
int proc);
85 template<
class T,
class Arg1,
class Arg2>
91 void (T::*pmf)(int, Arg1, Arg2) = pmf_;
94 (obj->*pmf)(proc, a1, a2);
99 template<
class T,
class Arg1,
class Arg2>
101 void (T::*pmf)(
int, Arg1, Arg2),
103 : obj_(obj), pmf_(pmf), a1(a1), a2(a2)
108 template<
class T,
class Arg1,
class Arg2>
virtual ~Parallel2()
Destroy the Parallel2 object - the threads will remain alive.
Definition: Parallel2.h:109
Definition: ParallelBase.h:62
Helper class to instantiate several threads.
virtual void run(int proc)
The thread body
Definition: Parallel2.h:87
Definition: Parallel2.h:61
Arg2 a2
Definition: Parallel2.h:76
Arg1 a1
Definition: Parallel2.h:75
Parallel2(T *obj, void(T::*pmf)(int, Arg1, Arg2), Arg1 a1, Arg2 a2)
Definition: Parallel2.h:100
T * obj_
Definition: Parallel2.h:73
Semaphore * wait_
Definition: ParallelBase.h:71
void(T::* pmf_)(int, Arg1, Arg2)
Definition: Parallel2.h:74