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


add to Google Reader add to Google Bookmark add to bloglines add to newsgator add to FURL add to digg add to webnews add to Netscape add to Yahoo MyWeb add to spurl.net add to diigo Bookmark newsvine Bookmark del.icio.us Bookmark @ SIMPIFY Bookmark MISTER WONG Bookmark Linkarena Bookmark icio.de Bookmark oneview Bookmark folkd.com Bookmark yigg.de Bookmark reddit Bookmark StumbleUpon Bookmark Slashdot Bookmark blinklist Bookmark technorati add to blogmarks add to blinkbits add to ma.gnolia add to smarking.com add to netvouz add to co.mments add to Connotea add to de.lirio.us

 

Related Files

<>An Introduction to Java Programming

Filed under: Programming and Java Programming
Type 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 Programming
largescale 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 Programming
language; 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 Programming
that 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 Programming
Java'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 ...