diff options
Diffstat (limited to 'docs/tutorials/012/task.h')
-rw-r--r-- | docs/tutorials/012/task.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/docs/tutorials/012/task.h b/docs/tutorials/012/task.h new file mode 100644 index 00000000000..52dcf022b3e --- /dev/null +++ b/docs/tutorials/012/task.h @@ -0,0 +1,38 @@ + +// $Id$ + +#ifndef TASK_H +#define TASK_H + +#include "ace/Task.h" + +/* + This is our basic thread-pool Task. We have a choice of pool size + on the open() and the usual svc() and close() methods. + + A new addition is the ACE_Barrier object. This will allow the + synchronization of our svc() methods so that they all start at the + "same" time. The normal case may allow one thread to start working + earlier than others. There's no real harm in it but you can get + better "work by thread" statistics if they start out together. +*/ +class Task : public ACE_Task < ACE_MT_SYNCH > +{ +public: + + typedef ACE_Task < ACE_MT_SYNCH > inherited; + + Task (void); + ~Task (void); + + int open (int threads = 1); + + int svc (void); + + int close (u_long flags = 0); + +protected: + ACE_Barrier * barrier_; +}; + +#endif |