skip to main content
10.1145/376656.376806acmconferencesArticle/Chapter ViewAbstractPublication PagesjgiConference Proceedingsconference-collections
Article

Core semantics of multithreaded Java

Authors Info & Claims
Published:01 June 2001Publication History

ABSTRACT

Java has integrated multithreading to a far greater extent than most programming languages. It is also one of the only languages that specifies and requires safety guarantees for improperly synchronized programs. It turns out that understanding these issues is far more subtle and difficult than was previously thought. The existing specification makes guarantees that prohibit standard and proposed compiler optimizations; it also omits guarantees that are necessary for safe execution of much existing code. Some guarantees that are made (e.g., type safety) raise tricky implementation issues when running unsynchronized code on SMPs with weak memory models.

This paper reviews those issues. It proposes a new core semantics for Java that allows for aggressive compiler optimization and addresses the safety and multithreading issues. Due to space constraints, certain side issues are addressed only in the full version of the semantics [8].

References

  1. 1.P. K. A. L. Cox and W. Zwaenepoel. Lazy release consistency for software distributed shared memory. In The Proceedings of the 19 th International Symposium of Computer Architecture, pages 13-21, May 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.G. Gao and V. Sarkar. Location consistency - a new memory model and cache consistency protocol. Technical Report 16, CAPSL, Univ. of Deleware, Feb. 1998.Google ScholarGoogle Scholar
  3. 3.K. Gharachorloo, D. Lenoski, J. Laudon, P. Gibbons, A. Gupta, , and J. L. Hennessy. Memory consistency and event ordering in scalable shared-memory multiprocessors. In Proceedings of the Seventeenth International Symposium on Computer Architecture, pages 15-26, May 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison Wesley, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.The Java memory model. Mailing list and web page. http://www.cs.umd.edu/~pugh/java/memoryModel.Google ScholarGoogle Scholar
  6. 6.T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison Wesley, 2nd edition, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.A. J.-W. Maessen and X. Shen. Improving the Java memory model using CRF. In OOPSLA, pages 1-12, Oct. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.J. Manson and W. Pugh. Semantics of multithreaded java. Technical Report CS-TR-4215, Dept. of Computer Science, University of Maryland, College Park, Mar. 2001.Google ScholarGoogle Scholar
  9. 9.W. Pugh. Fixing the Java memory model. In ACM Java Grande Conference, June 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.W. Pugh. The double checked locking is broken declaration. http://www.cs.umd.edu/ users/ pugh/java/ memoryModel/ DoubleCheckedLocking.html, July 2000.Google ScholarGoogle Scholar
  11. 11.W. Pugh. The Java memory model is fatally flawed. Concurrency: Practice and Experience, 12(1):1-11, 2000.Google ScholarGoogle Scholar

Index Terms

  1. Core semantics of multithreaded Java

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          JGI '01: Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande
          June 2001
          186 pages
          ISBN:1581133596
          DOI:10.1145/376656

          Copyright © 2001 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 June 2001

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          JGI '01 Paper Acceptance Rate18of60submissions,30%Overall Acceptance Rate18of60submissions,30%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader