Title :
Coping with Java threads
Author_Institution :
Dept. of Comput. Sci., Colorado Tech. Univ., Colorado Springs, CO, USA
fDate :
4/1/2004 12:00:00 AM
Abstract :
A thread is a basic unit of program execution that can share a single address space with other threads - that is, they can read and write the same variables and data structures. Originally, only assembly programmers used threads. A few older programming languages such as PL/I supported thread concurrency, but newer languages such as C and C++ use libraries instead. Only recently have programming languages again begun to build in direct support for threads. Java and Ada are examples of industry-strength languages for multithreading. The Java thread model has its roots in traditional concurrent programming. As the "real-time specification for Java" sidebar describes, RTSJ attempts to remove some of the limitations relative to real-time applications - primarily by circumventing garbage collection. But RTSJ does not make the language safer. It retains standard Java\´s threading pitfalls and is a risky candidate for critical concurrent applications.
Keywords :
Ada; Java; concurrency control; formal specification; multi-threading; synchronisation; Ada language; Java thread model; concurrent programming; data structures; multithreading; real-time specification; synchronisation; thread concurrency; Assembly; Computer languages; Concurrent computing; Counting circuits; Data structures; Java; Multithreading; Programming profession; Switches; Yarn;
DOI :
10.1109/MC.2004.1297297