|
Multi-threaded Magic: Building Multitasking Applications
by Sridhar M S
Though threads are used in most of the applications, this fact is generally not widely known. Essentially, threads are used in applications where lots of processing needs to be done and performing each process sequentially is simply not acceptable. It is for this reason that multi-threading is so commonly used and why, without it, life would be difficult for most developers.
For example, consider an application where the all the requests are piled in a queue as they arrive and you are expected to process the requests and serve them very quickly. Now, if this type of application is written/coded using a single thread or sequential model, it's un-imaginable to process the request per the expectations. You wouldn't be in a position to respond immediately to the user, nor would you be able to estimate the time a response would take. This is because you do not have any control over when you will start processing the requests and serve them.
In this scenario, the best option would be a multi-threaded program: one thread accepts the request and updates the queue; a second thread picks up the request from the queue and serves the response to the request. They do this simultaneously.
In other words, multiple blocks of code from the same program are being executed concurrently without having one to wait for the completion of the other.
Creating a Thread
In order to create a thread, you will need to understand such Java fundamentals as Class and Interfaces. There are two ways to create threads in Java. You can:
- Extend the Thread class
- Implement the Runnable interface
Now, you know that if you extend a class, you will have to follow the rule about not extending from any other class thereafter. You'll need to keep than in mind when choosing which thread creation method to use. On the other hand, implementing an Interface allows you to leverage the complete luxury of Java's support for multiple inheritance.
Which method to use is a decision you'll have to make on your ownbased on the type of application.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|