summaryrefslogtreecommitdiff
path: root/docs/tutorials/007/page01.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/tutorials/007/page01.html')
-rw-r--r--docs/tutorials/007/page01.html82
1 files changed, 0 insertions, 82 deletions
diff --git a/docs/tutorials/007/page01.html b/docs/tutorials/007/page01.html
deleted file mode 100644
index a1cd7ceac79..00000000000
--- a/docs/tutorials/007/page01.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<HTML>
-<HEAD>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
- <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; Linux 2.0.32 i486) [Netscape]">
- <META NAME="Author" CONTENT="James CE Johnson">
- <META NAME="Description" CONTENT="A first step towards using ACE productively">
- <TITLE>ACE Tutorial 007</TITLE>
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#000FFF" VLINK="#FF0F0F">
-
-<CENTER><B><FONT SIZE=+2>ACE Tutorial 007</FONT></B></CENTER>
-
-<CENTER><B><FONT SIZE=+2>Creating a thread-pool server</FONT></B></CENTER>
-<HR>
-
-
-
-<P>In this tutorial, we're going to extend Tutorial 6 to add a third concurrency
-strategy:&nbsp; thread-pool.&nbsp; Like Tutorial 6 did to Tutorial 5, we're
-going to keep the existing strategies that we've already created and add
-this one in as a "bonus".&nbsp; As you'll see, our basic objects will change
-but not by a whole lot.&nbsp; To accomplish this, we'll introduce one new
-major object that helps to abstract the thread pool concept.
-<P>
-Some folks have noted that this tutorial is a bit confusing if you
-don't first know about ACE_Task. My advice is to give it all a good
-read a couple of times. If you're still having problems, take a look
-at the ACE_Task tests in $ACE_ROOT/tests or examples in $ACE_ROOT/examples.
-<P>
-Kirthika's Abstract:
-<UL>
-In this multithreaded server, the Client_Acceptor has the additional
-strategy of managing a thread pool. This helps when two clients don't
-want to share the same resources or when different clients
-need to run in different priority threads. We could then pool all the
-same priority clients into one thread-pool. The thread_pool class is a
-new addition used to implement this strategy. It inherits from ACE_Task
-with ACE_MT_SYNCH parameter which takes care of syncronization issues
-amongst multiple threads.
-<P>
-ACE_Task follows the Active Object pattern and executes the methods on
-the task object in a new thread of execution, i.e it decouples the
-execution of a method from its invocation. An ACE_Task has an underlying
-thread (or pool of threads) and a Message_Queue which is the only means
-of communication among tasks. A Message_Queue consists of
-Message_Blocks.
-<P>
-The Client_Acceptor is registered with the reactor waiting for
-connection requests.
-On some activity, the reactor calls the handle_input() method on the
-Acceptor. The Client_Handler of the Acceptor (for the thread-pool
-strategy) unregisters itself from the reactor and
-enqueues itself in the Message_Queue of the thread-pool waiting for
-svc() to call handle_input() on it. It would then process the data in
-its new thread of execution. The ACE_MT_SYNCH option facilitates access
-of the Mesage_Blocks across different Message_Queues (here from the main
-thread to the one in the thread pool).
-<P>
-The thread_pool class derives from the ACE_Task class. Its svc() method
-dequeues the threads in the Message_Queue and calls handle_input() on
-them. The idle threads can take work from the queue while the other
-threads are working. It also uses ACE_Atomic_Op as a counter for active
-threads in the pool. Also, the ACE_Guard class has been used to provide
-thread-safe counter-incrementation and destruction of the Message_Blocks
-of the thread-pool. This class guards the critical section region by
-acquiring the mutex lock on creation and releasing it as soon as it goes
-out of scope.
-<P>
-Note: a sleep period before all the threads in the pool exit is
-necessary for complete destruction of the thread pool.
-<P>
-This tutorial gives us a flavour of implementing a server with a
-thread-pool strategy and how it can be managed using the ACE_Task class,
-which provides an OO approach to thread-creation and implementation.
-</UL>
-<font size=-1>* The additions to this tutorial make use of
-ACE_Message_Queue which is discussed in depth in
-<A HREF="../010/page01.html">Tutorial 10</A>. Feel free to read ahead
-if you get lost in the message queue stuff.
-</font>
-<P><HR WIDTH="100%">
-<CENTER>[<A HREF="../online-tutorials.html">Tutorial Index</A>] [<A HREF="page02.html">Continue This Tutorial</A>]</CENTER>