Per Brinch Hansen, "Java's Insecure Parallelism" ACM SIGPLAN Notices Volume 34 Issue 4 (April 1999) * in which the inventor of monitors complains about Java's concurrency model on the grounds that: * methods are unsynchronized by default, therefore concurrent use of objects is unsafe by default; * it doesn't support multiple condition variables per monitor. Note that efficiency is ''not'' a good argument for allowing unsynchronized use of objects; see: * "Guava: A Dialect of Java without Data Races" at * "Type-Safe Multithreading in Cyclone" at ---- See ConcurrentProgrammingInJava CategoryJava CategoryPaper CategoryConcurrency