Sponsored Links

 

 

 

Safe Concurrent Programming in Java

Source: sow.csail.mit.edu
Topic: Java Programming


Short 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. ...

 

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 PDF Files

Tips and Techniques for Advanced Wireless Java Programming


Topic: Java Programming

Make It Mobile. www.forum.nokia.com. Tips and Techniques for. Advanced Wireless Java Programming. Bill Day. Manager Technical Services & Consultancy Nokia ...

JAVA PROGRAMMING


Topic: Java Programming

Java Programming Tips. OUT Parameters. Java's Big 4. Implementation Of Equals. Implementation of hashCode. Implementing Clone. Object Finalization ...

Sunrevised.qxd (Page 1)


Topic: Java Programming

Fundamentals of UNIX and Fundamentals of Java Programming. Sponsored by Sun Microsystems ... programming and the Java language to solve business problems. ...

Java and Mobility


Topic: Java Programming

... devices have outnumbered PCs •Do you own a mobile phone? •Do you own some other

Java Programming Language Workshop SL285


Topic: Java Programming

the basic structure and syntax of the Java. programming language who need to ... Java programming language. Understand basic Unified ...

 

Sponsored Links