Home > Programming > Java Programming
Safe Concurrent Programming in Java
Sort Desciption:Safe Concurrent Programming in Java. Chandrasekhar Boyapati. CHANDRA ... Multithreaded programming is difficult and error prone. ...
Content Inside:Safe Concurrent Programming in JavaPage 1Safe Concurrent Programming in JavaChandrasekhar BoyapatiCHANDRA@LCS.MIT.EDURobert LeeRHLEE@LCS.MIT.EDUMartin RinardRINARD@LCS.MIT.EDUMIT Laboratory for Computer Science 200 Technology Square Cambridge MA 02139 USA1. IntroductionMultithreaded programming is difficult and error prone.Multithreaded programs typically synchronize operationson shared mutable data to ensure that the operations execute atomically. Failure to correctly synchronize such operations can lead to data races or deadlocks. A data raceoccurs when two threads concurrently access the same datawithout synchronization and at least one of the accessesis a write. A deadlock occurs when there is a cycle of theform: i {0..n 1} Threadiholds Lockiand Threadiis waiting for Lock(i+1) mod n.This paper presents a new static type system for multithreaded programs; welltyped programs in our system areguaranteed to be free of data races and deadlocks. In recentprevious work we presented a static type system to preventdata races. In this paper we extend the racefree type system to prevent both data races and deadlocks. The basicidea behind our system is as follows. When programmerswrite multithreaded programs they already have a locking discipline in mind. Our system allows programmersto specify this locking discipline in their programs. Theresulting specifications take the form of type declarations.To prevent data races programmers associate every objectwith a protection mechanism that ensures that accesses tothe object never create data races. The protection mechanism of an object can specify either the mutual exclusionlock that protects the object from unsynchronized concurrent accesses or that threads can safely access the objectwithout synchronization because either 1) the object is immutable 2) the object is accessible to a single thread or3) the variable contains the unique pointer to the object.Unique pointers are useful to support object migration between threads. ...
Source: sow.csail.mit.edu
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Related Files
<>An Introduction to Java Programming
Filed under: Programming and Java ProgrammingType java Welcome to run the program. A sample run of ... You can run the Java program from the DOS prompt using. the java command. ...
Java Server Programming: Principles and Technologies
Filed under: Programming and Java Programminglargescale serverside applications using the Java programming language. ... Professional java server programming J2EE edition. Wrox Press Inc. ...
Java Programming Language SL275
Filed under: Programming and Java Programminglanguage; objectoriented programming. with the Java programming language; and ... SL275: Java Programming Language. 2 of 5. Sun Educational Services ...
Java 2 Enterprise Edition (J2EE) Certificate Program
Filed under: Programming and Java Programmingthat are available with the Java programming language. and development environment. .... database tasks and transactions from a Java program. ...
Programming mobile devices with J2ME
Filed under: Programming and Java ProgrammingJava's interfaces, with the possibility of using a layer programming structure in ... For example the access to a built-in camera in a mobile phone by means of ...
