Multi Threading
Multi Threading
cd=742
2. Multi tasking: Multitasking is the logical extension of multiprogramming .The concept of multitasking is quite similar to multiprogramming but difference is that the switching between jobs occurs so frequently that the users can interact with each program while it is running. This concept is also known as time-sharing systems. A time-shared operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of time-shared system.
3. Multi threading: An application typically is implemented as a separate process with several threads of control. In some situations a single application may be required to perform several similar tasks for example a web server accepts client requests for web pages, images, sound, and so forth. A busy web server may have several of clients concurrently accessing it. If the web server ran as a traditional single-threaded process, it would be able to service only one client at a time. The amount of time that a client might have to wait for its request to be serviced could be enormous. So it is efficient to have one process that contains multiple threads to serve the same purpose. This approach would multithread the web-server process, the server would create a separate thread that would listen for client requests when a request was made rather than creating another process it would create another thread to service the request. To get the advantages like responsiveness, Resource sharing economy and utilization of multiprocessor architectures multithreading concept can be used.
http://www.wellho.net/solutions/java-a-multithreaded-server-in-java.html
Planning your application is vital in any object oriented language such as Java - for smaller applications you may choose to use informal methods, but for larger applications you'll need something more formal such as UML, and perhaps even tools such as Rational Rose to manage your model.
Informally, * A
our single
plans parent
for thread
the will
talker await
are new
as
follows: and
connections,
will create a new child thread when it receives a connection. A child thread will exist for each live connection; it will
wait for input from the user of the connection, and when input is received it will echo it to all live users.
Threads will be managed in a Vector from which they will be deleted when the connection is closed A few by special the directives application (such to allow as ".q" users to to quit) log out, will and be to provided