Communicating Java Threads

G.H. Hilderink, Johannes F. Broenink, Wiek Vervoort, André Bakkers

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    1074 Downloads (Pure)

    Abstract

    The incorporation of multithreading in Java may be considered a significant part of the Java language, because it provides udimentary facilities for concurrent programming. However, we belief that the use of channels is a fundamental concept for concurrent programming. The channel approach as described in this paper is a realization of a systematic design method for concurrent programming in Java based on the CSP paradigm. CSP requires the availability of a Channel class and the addition of composition constructs for sequential, parallel and alternative processes. The Channel class and the constructs have been implemented in Java in compliance with the definitions in CSP. As a result, implementing communication between processes is facilitated, enabling the programmer to avoid deadlock more easily, and freeing the programmer from synchronization and scheduling constructs. The use of the Channel class and the additional constructs is illustrated in a simple application.
    Original languageUndefined
    Title of host publication20th World Occam and Transputer User Group Technical Meeting
    EditorsA. Bakkers
    Place of PublicationAmsterdam
    PublisherIOS Press
    Pages48-76
    Number of pages29
    ISBN (Print)90 5199 336 6
    Publication statusPublished - Apr 1997
    Event20th World Occam and Transputer User Group Technical Meeting, WoTUG 1997 - Dish Hotel, Enschede, Netherlands
    Duration: 13 Apr 199716 Apr 1997
    Conference number: 20

    Publication series

    NameConcurrent systems engineering series
    PublisherIOS Press
    Volume50

    Conference

    Conference20th World Occam and Transputer User Group Technical Meeting, WoTUG 1997
    Abbreviated titleWoTUG
    CountryNetherlands
    CityEnschede
    Period13/04/9716/04/97

    Keywords

    • IR-16613
    • METIS-113498
    • EWI-1083

    Cite this