summaryrefslogtreecommitdiff
path: root/examples/APG/ThreadManagement/Pool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/APG/ThreadManagement/Pool.cpp')
-rw-r--r--examples/APG/ThreadManagement/Pool.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/examples/APG/ThreadManagement/Pool.cpp b/examples/APG/ThreadManagement/Pool.cpp
new file mode 100644
index 00000000000..2e843f95f9b
--- /dev/null
+++ b/examples/APG/ThreadManagement/Pool.cpp
@@ -0,0 +1,31 @@
+// $Id$
+
+#include "ace/Task.h"
+#include "ace/Log_Msg.h"
+
+// Listing 1 code/ch13
+class HA_CommandHandler : public ACE_Task<ACE_MT_SYNCH>
+{
+public:
+ virtual int svc (void)
+ {
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) starting up \n")));
+ ACE_Message_Block *mb;
+ if (this->getq (mb) == -1)
+ return -1;
+ // ... do something with the message.
+ return 0;
+ }
+};
+// Listing 1
+// Listing 2 code/ch13
+int ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ HA_CommandHandler handler;
+
+ // Create 4 threads.
+ handler.activate (THR_NEW_LWP | THR_JOINABLE, 4);
+ handler.wait ();
+ return 0;
+}
+// Listing 2