Multi-Threading in a Java* Environment
Multithreading in Java Programming Examples: Java threads provide a vital performance boost to nearly all apps. Discover how these threads are becoming a standard part of Java programming by exploiting Hyper-Threading Technology and the new multi-core Intel processors.

Multi-Threading in a Java* Environment

By Allan McNaughton

Java* threads provide a vital performance boost to nearly all apps. Discover how these threads are becoming a standard part of Java* programming by exploiting Hyper-Threading Technology and the new multi-core Intel® processors.

Building programs around threads of execution — that is, around specific sequences of instructions — delivers significant performance benefits. Consider, for example, a program that reads large amounts of data from disk and processes that data before writing it to the screen (such as a DVD player). On a traditional, single-threaded program (the kind most client programs use today), where only one task executes at a time, each of these activities happens as a part of a sequence of distinct phases. No data is processed until a chunk of a defined size has been read. So the program logic that could be processing the data is not executed until disk reads are complete. This leads to inferior performance.

On a threaded program, one thread can be assigned to read data, another thread to process it, and a third to write it out to the graphics card. These three threads can operate in parallel so that data is being processed while disk reads are going on. And overall performance improves. Many other examples can be devised in which the ability to do two things at once will provide better performance. The Java virtual machine* (JVM*) is itself heavily threaded for just this reason.


If you're interested in this topic, these articles may be helpful:

Impact of thread priority on .NET applications and hyper-threading enabled processors
by Eric L. Blair. Intel Corp. Intel processors that support Hyper-T...
Determine the correct XML parser type for a Java application
by Padma Apparao, senior performance architect, Software Solutions Gro...
An introduction to Java applets
Joe Grip Understand the basic structure of an applet and then write...
An introduction to Java programming
Apple Computer Inc. For the novice Java programmer, this Apple slid...
Model with the Eclipse Modeling Framework, part 2: generate code with Eclipse's Java Emitter Templates
by Adrian Powell, senior software developer, IBM Corp. First published...

Related Jobs:

GSM/Dual Mode System Architect #784 - CA - Milpitas - PalmOne, Inc.
GSM/Dual Mode System Architect Job code: 784 Job Category: Engineeri...
Information Technology Management Consultant 1 #163160 - US - Louisiana - LA StateGovt JOBS
FUNCTION OF WORK: To provide a strategic level of management consul...
IT Enterprise Storage Administrator #3791 - NY - Melville - Arrow Electronics, Inc.
Arrow Electronics, Inc., a Fortune 200 company, is one of the world's ...
Applications Developer 3 #IRC296973 - MN - Minneapolis - Oracle
This Software Engineering group designs, codes and tests new developme...
Sr oracle Backend Developer - NJ - Rockaway - Sunrise Systems Inc.
Job Description: Job description: Looking for a SR Oracle Backend de...
Software Engineer/Senior Software Engineer #200502775-KK - FL - Oldsmar - Nielsen Media Research
Assigned Req # : 200502775-KK Job Title: Software Engineer/Seni...
Software Quality Assurance Engineer #45381 - OR - Portland - Affiliated Computer Services, Inc.
Description We are in need of a talented, collaborative Software Q...
Oracle Apps DBA #12428 - OH - Evendale - Radiant Systems, Inc
Oracle Apps DBA with over 3 years experience in 11i Oracle Apps. Wo...
Technology Manager #25722 - CA - Burbank - The Walt Disney Internet Group
Technology Manager posted 7/6/2006 Burbank, CA JOB DESCRIPTION...
Software Developer - Grid Technology #5032 - AR - Little Rock - Acxiom Corporation
Requirements Software Developers create a vision for custom...