Sun Microsystems 2 manual Multitask Safety and Multithread Safety

Page 18

The following list summarizes the multitasking safety issues to consider when you update or add native code for your port:

Multitask safety and multithread safety

Native global or static data

Singletons

Multitask Safety and Multithread Safety

Many systems today are multithreaded, which requires code that runs in these systems to be thread safe or multithread safe. For example, POSIX Threads (Pthreads) enables multiple native threads to run in the same OS process. Each native thread has access to native memory, so any data structures in native memory must be protected from concurrent access. This is typically accomplished through the use of locks to provide mutual exclusion.

Similarly, multiple Java platform threads can run in the same Java virtual machine. Each Java platform thread has access to the objects in the Java virtual machine, so these objects must also be protected from concurrent access. Java code typically accomplishes this through the use of synchronized code blocks or higher-level constructs.

In the Java Wireless Client software, each task has one or more threads. Each of these threads has concurrent access to the objects in that task, and so the same multithread safety issues occur in Java Wireless Client software as in conventional Java virtual machines. However, a thread in one task has access only to objects within its task, and it has no access to objects in any other task. The multitasking nature of Java Wireless Client software thus has no impact on the multithreaded safety of applications.

All of the tasks in Java Wireless Client software run in a single OS process, and therefore they all have access to the same native memory and data structures. Threads from different tasks are scheduled arbitrarily. Therefore, native methods that read or update native data structures must be prepared to deal with operations from different tasks being interleaved in an arbitrary order. Furthermore, because different tasks are generally running different applications, these different applications are likely to place quite different demands on the underlying native system.

6 Multitasking Guide • May 2007

Image 18
Contents Multitasking Guide Page Contents Glossary Index Code Samples Vi Multitasking Guide May Tables Viii Multitasking Guide May Preface Before You Read This GuideHow This Guide Is Organized Related DocumentationTypographic Conventions Used in This Guide AaBbCc123Accessing Sun Documentation Online Sun Welcomes Your CommentsIntroduction Multitasking Robustness Mechanisms Compared With PoliciesMultitasking Guide May Multitasking Safety Multitask Safety and Multithread Safety Global and Static Data Singletons Multitasking Safety Example Code Example 2-1Native API for a Microwave OvenTypical usage of this API is shown in Code Example Multithread Safety Code Example 2-5Using the Locking Mechanism Multitask Safety Code Example 2-7Migrating Initialization to Native Code Establishing Per-Task Context Code Example 2-8Keeping State in Java Code Code Example 2-9Implementing the Native ncook Method Kniexport Knireturntypeint Multitasking Safety Multitasking Guide May Managing Native Resources Resource Management Mechanisms ReservationLimit Default Resource Allocation Policies RevocationCustomization of Resource Allocation Policies Maximum number of tasks isolates allowed Managing Native Resources Multitasking Guide May Other Multitasking Issues Switching the Foreground MIDletDefault Policy Scheduling the CPUAlternative Policies and Their Implementations Default CPU Scheduling Policy Default User Notification Policies Interrupting the UserGlossary Java Community ProcessTM Jcptm Glossary Sun Java Device Test Index Multitasking Guide May
Related manuals
Manual 58 pages 34.88 Kb

2 specifications

Sun Microsystems, founded in 1982, was a significant player in the computing industry, best known for its innovative technology solutions and workstations, particularly the Sun-4, which represented a key milestone in the company's history. The Sun-4 architecture, launched in 1987, utilized the SPARC (Scalable Processor Architecture) RISC processor, notable for its high performance and scalability.

One of the primary features of Sun Microsystems' platforms was their ability to efficiently handle multitasking and resource management, making them ideal for enterprise-level applications and development environments. Sun-4 workstations boasted impressive graphics capabilities with the addition of advanced graphical user interfaces, support for color displays, and the SUNVIEW windowing system, which enhanced user experience and productivity.

The Sun-4 systems also supported the SunOS operating system, which was based on UNIX. This operating system was engineered for stability and robustness, offering features like multiuser support, networked environments, and advanced security options. Moreover, SunOS provided seamless integration with various programming languages, including C and C++, facilitating software development that aligned with industry standards.

Another standout characteristic of Sun Microsystems was its commitment to open systems and standards. By providing developers with comprehensive tools and environments, such as the Standardized Application Programming Interface (API) and support for networking protocols, Sun facilitated interoperability among different computing platforms. The emphasis on open architecture also meant that customers could easily upgrade their systems without being locked into proprietary solutions.

Sun Microsystems was also ahead of its time with innovations in network computing. Their workstations were among the first to support network file systems and distributed computing concepts, enabling seamless data sharing across multiple systems. With the introduction of the Network File System (NFS), Sun revolutionized how data was accessed and managed across networks, which played a significant role in the evolving landscape of client-server computing.

In summary, the Sun Microsystems 2 and its successive innovations in workstation technology highlighted the company's forward-thinking approach. By integrating powerful performance with open systems, robust operating systems, and advanced networking capabilities, Sun laid the groundwork for modern computing, influencing various sectors from academia to enterprise solutions. Even after its acquisition by Oracle in 2010, the legacy of Sun Microsystems continues to be felt across the computing industry.