BibliographyKen Arnold, James Gosling, and David Holmes. The Java Programming Language, Fourth Edition. AddisonWesley, 2005. David F. Bacon, Ravi B. Konuru, Chet Murthy, and Mauricio J. Serrano. Thin Locks: Featherweight Synchronization for Java. In SIGPLAN Conference on Programming Language Design and Implementation, pages 258268, 1998. URL http://citeseer.ist.psu.edu/bacon98thin.html. Joshua Bloch. Effective Java Programming Language Guide. AddisonWesley, 2001. Joshua Bloch and Neal Gafter. Java Puzzlers. AddisonWesley, 2005. Hans Boehm. Destructors, Finalizers, and Synchronization. In POPL '03: Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 262272. ACM Press, 2003. URL http://doi.acm.org/10.1145/604131.604153. Hans Boehm. Finalization, Threads, and the Java Memory Model. JavaOne presentation, 2005. URL http://developers.sun.com/learning/javaoneonline/2005/coreplatform/TS-3281.pdf. Joseph Bowbeer. The Last Word in Swing Threads, 2005. URL http://java.sun.com/products/jfc/tsc/articles/threads/threads3.html. Cliff Click. Performance Myths Exposed. JavaOne presentation, 2003. Cliff Click. Performance Myths Revisited. JavaOne presentation, 2005. URL http://developers.sun.com/learning/javaoneonline/2005/coreplatform/TS-3268.pdf. Martin Fowler. Presentation Model, 2005. URL http://www.martinfowler.com/eaaDev/PresentationModel.html. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns. AddisonWesley, 1995. Martin Gardner. The fantastic combinations of John Conway's new solitaire game 'Life'. Scientific American, October 1970. James Gosling, Bill Joy, Guy Steele, and Gilad Bracha. The Java Language Specification, Third Edition. AddisonWesley, 2005. Tim Harris and Keir Fraser. Language Support for Lightweight Transactions. In OOPSLA '03: Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 388402. ACM Press, 2003. URL http://doi.acm.org/10.1145/949305.949340. Tim Harris, Simon Marlow, Simon Peyton-Jones, and Maurice Herlihy. Composable Memory Transactions. In PPoPP '05: Proceedings of the Tenth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 4860. ACM Press, 2005. URL http://doi.acm.org/10.1145/1065944.1065952. Maurice Herlihy. Wait-Free Synchronization. ACM Transactions on Programming Languages and Systems, 13(1):124149, 1991. URL http://doi.acm.org/10.1145/114005.102808. Maurice Herlihy and Nir Shavit. Multiprocessor Synchronization and Concurrent Data Structures. Morgan-Kaufman, 2006. C. A. R. Hoare. Monitors: An Operating System Structuring Concept. Communications of the ACM, 17(10):549557, 1974. URL http://doi.acm.org/10.1145/355620.361161. David Hovemeyer and William Pugh. Finding Bugs is Easy. SIGPLAN Notices, 39 (12):92106, 2004. URL http://doi.acm.org/10.1145/1052883.1052895. Ramnivas Laddad. AspectJ in Action. Manning, 2003. Doug Lea. Concurrent Programming in Java, Second Edition. AddisonWesley, 2000. Doug Lea. JSR-133 Cookbook for Compiler Writers. URL http://gee.cs.oswego.edu/dl/jmm/cookbook.html. J. D. C. Little. A proof of the Queueing Formula L = lW". Operations Research, 9: 383387, 1961. Jeremy Manson, William Pugh, and Sarita V. Adve. The Java Memory Model. In POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 378391. ACM Press, 2005. URL http://doi.acm.org/10.1145/1040305.1040336. George Marsaglia. XorShift RNGs. Journal of Statistical Software, 8(13), 2003. URL http://www.jstatsoft.org/v08/i14. Maged M. Michael and Michael L. Scott. Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms. In Symposium on Principles of Distributed Computing, pages 267275, 1996. URL http://citeseer.ist.psu.edu/michael96simple.html. Mark Moir and Nir Shavit. Concurrent Data Structures, In Handbook of Data Structures and Applications, chapter 47. CRC Press, 2004. William Pugh and Jeremy Manson. Java Memory Model and Thread Specification, 2004. URL http://www.cs.umd.edu/~pugh/java/memoryModel/jsr133.pdf. M. Raynal. Algorithms for Mutual Exclusion. MIT Press, 1986. William N. Scherer, Doug Lea, and Michael L. Scott. Scalable Synchronous Queues. In 11th ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming (PPoPP), 2006. R. K. Treiber. Systems Programming: Coping with Parallelism. Technical Report RJ 5118, IBM Almaden Research Center, April 1986. Andrew Wellings. Concurrent and Real-Time Programming in Java. John Wiley & Sons, 2004. |