Sun Microsystems 2 Wireless Office Headset User Manual


 
2 Multitasking Guide May 2007
Multitasking
The Connected Limited Device Configuration HotSpot™ Implementation can run
multiple Java applications within a single operating system (OS) process.
Historically, a CLDC virtual machine (VM) could run one Java application at a time,
and each virtual machine typically required its own OS process. Running more than
one Java application meant running more than one OS process. This could use too
many resources on some small devices. The multitasking feature enables a single
virtual machine, in a single OS process, to function as multiple virtual machines.
From the standpoint of each Java application, it is running in a separate virtual
machine.
When a MIDlet exits or encounters an error, it always leaves the virtual machine in a
consistent state. This works because each MIDlet is isolated from other MIDlets that
might also be running at the same time. If the MIDlets were not isolated from each
other, an error in one MIDlet might be visible to other MIDlets. This might result in
deadlock or crashes caused by corrupted data structures.
Multitasking, then, runs multiple logical virtual machines within a single OS
process. The CLDC HotSpot Implementation enables this by providing fundamental
mechanisms in the virtual machine. Mechanisms include threads, the isolation of
objects in the Java runtime environment (Java objects) belonging to different
programs, and safe termination. See the CLDC HotSpot Implementation Virtual
Machine White Paper at http://java.sun.com/j2me/docs/pdf/CLDC-
HI_whitepaper-February_2005.pdf for more information.
The OS mechanisms are important and necessary, but they aren’t sufficient to
provide a complete application environment. A complete system needs mechanisms
for managing the application life cycle (starting, stopping, and switching between
applications) and for enabling the user to control the application life cycle. It also
needs mechanisms for managing competition for limited shared resources, such as
memory and network sockets, among multiple applications. The Java Wireless Client
software provides all of these additional mechanisms.
The Java Wireless Client software is a high-performance, feature-rich, deployment-
ready implementation of Java Technology for the Wireless Industry that takes
advantage of the multitasking functionality in the CLDC HotSpot Implementation.
The logical virtual machines in the Java Wireless Client software are called tasks.
Each application has its own task. The Application Management System (AMS) runs
at all times in its own task. This architecture provides improved performance and
robustness.