• DocumentCode
    984041
  • Title

    Coping with Java threads

  • Author

    Sandén, Bo

  • Author_Institution
    Dept. of Comput. Sci., Colorado Tech. Univ., Colorado Springs, CO, USA
  • Volume
    37
  • Issue
    4
  • fYear
    2004
  • fDate
    4/1/2004 12:00:00 AM
  • Firstpage
    20
  • Lastpage
    27
  • 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;
  • fLanguage
    English
  • Journal_Title
    Computer
  • Publisher
    ieee
  • ISSN
    0018-9162
  • Type

    jour

  • DOI
    10.1109/MC.2004.1297297
  • Filename
    1297297