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...
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...
Determine the correct XML parser type for a Java application
by Padma Apparao, senior performance architect, Software Solutions Gro...

Related Jobs:

Information Technology Management Consultant 1 #163160 - US - Louisiana - LA StateGovt JOBS
FUNCTION OF WORK: To provide a strategic level of management consul...
System Architect #S05-0121 - NY - Syracuse - Excellus Blue Cross Blue Shield
Title: System Architect Department: Security Services Operating Te...
Software Engineer/Senior Software Engineer #200502775-KK - FL - Oldsmar - Nielsen Media Research
Assigned Req # : 200502775-KK Job Title: Software Engineer/Seni...
Technology Manager #25722 - CA - Burbank - The Walt Disney Internet Group
Technology Manager posted 7/6/2006 Burbank, CA JOB DESCRIPTION...
Oracle Apps DBA #12428 - OH - Evendale - Radiant Systems, Inc
Oracle Apps DBA with over 3 years experience in 11i Oracle Apps. Wo...
Sr oracle Backend Developer - NJ - Rockaway - Sunrise Systems Inc.
Job Description: Job description: Looking for a SR Oracle Backend de...
SR VB, VB.NET Developer #235 - NJ - Jersey City - RCG Information Technology
Description: All applicants must have a minimum of 3 years IT Industry...
Software Development Engineer #132822 - CA - Mountain View - Microsoft Corporation
Microsoft TV Foundation Edition is inventing the future of digital tel...
GSM/Dual Mode System Architect #784 - CA - Milpitas - PalmOne, Inc.
GSM/Dual Mode System Architect Job code: 784 Job Category: Engineeri...
Software Quality Assurance Engineer #45381 - OR - Portland - Affiliated Computer Services, Inc.
Description We are in need of a talented, collaborative Software Q...