“Alfonse, you have a message!”

Synchronization of multiple threads in a Java program using the built-in features of the language has serious pitfalls for the programmer, particularly if a thread is interrupted while waiting inside a monitor. These concerns have lead to a movement to avoid Java monitors altogether and use message passing instead. This paper visits the field of concurrent programming to show that replacing all Java monitors with message passing is an overreaction to these problems.

[1]  Gregory R. Andrews,et al.  The SR programming language: concurrency in practice , 1993 .

[2]  Christopher H. Nevison,et al.  Java resources for computer science instruction , 1998, SGCS.

[3]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[4]  Stephen J. Hartley “Alfonse, wait here for my signal!” , 1999, SIGCSE '99.

[5]  Andrew S. Tanenbaum,et al.  Distributed operating systems , 2009, CSUR.

[6]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[7]  HansenPer Brinch Java's insecure parallelism , 1999 .

[8]  Peter A. Buhr,et al.  Monitor classification , 1995, CSUR.

[9]  William F. Gilreath,et al.  Concurrency State Models and Java Programs , 2000, Parallel Distributed Comput. Pract..

[10]  Pamela B. Lawhead,et al.  Java Resources for Computer Science Instruction Report of the ITiCSE'98 Working Group on Curricular Opportunities of Java Based Software Development , 1998 .

[11]  Gregory R. Andrews,et al.  Concurrent programming - principles and practice , 1991 .

[12]  Per Brinch Hansen,et al.  Java's insecure parallelism , 1999, SIGP.

[13]  Judith Bishop,et al.  Using Java in computer science education (panel) , 1997, Annual Conference on Innovation and Technology in Computer Science Education.

[14]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[15]  Judith Bishop,et al.  Using Java in computer science education (panel) , 1997, ITiCSE-WGR '97.

[16]  Ken Arnold,et al.  The Java programming language (2nd ed.) , 1998 .