skip to main content
Skip header Section
Concurrent Programming in Java: Design Principles and PatternsOctober 1996
Publisher:
  • Addison-Wesley Longman Publishing Co., Inc.
  • 75 Arlington Street, Suite 300 Boston, MA
  • United States
ISBN:978-0-201-69581-6
Published:01 October 1996
Pages:
352
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

From the Publisher:

This book provides you with detailed information and expert techniques that will enable you to exploit the many advantages of concurrent programming and create multi-threaded Java applications that are more responsive to user demands, faster, and more easily controlled. Taking a design pattern approach, the book offers numerous standard design techniques for creating and implementing Java structures that solve common concurrent programming challenges. Doug Lea is Professor of computer Science at SUNY Oswego, Co-director of the Software Engineering Lab at the New York Center for Advanced Technology in Computer Applications, and Adjunct Professor of Electrical and Computer Engineering at Syracuse University.

Cited By

  1. ACM
    Rosales E, Rosà A and Binder W Optimization coaching for fork/join applications on the Java virtual machine Companion Proceedings of the 3rd International Conference on the Art, Science, and Engineering of Programming, (1-3)
  2. ACM
    Salem P The case for experiment-oriented computing Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (719-723)
  3. Arora V, Bhatia R and Singh M (2016). A systematic review of approaches for testing concurrent programs, Concurrency and Computation: Practice & Experience, 28:5, (1572-1611), Online publication date: 10-Apr-2016.
  4. ACM
    Gjessing S and Maus A Teaching predicates and invariants on shared data structures in concurrent programming Proceedings of the 2012 workshop on Developing competency in parallelism: techniques for education and training, (9-14)
  5. ACM
    McKenney P Beyond expert-only parallel programming? Proceedings of the 2012 ACM workshop on Relaxing synchronization for multicore and manycore scalability, (25-32)
  6. ACM
    Tilevich E and Smaragdakis Y (2009). J-Orchestra, ACM Transactions on Software Engineering and Methodology, 19:1, (1-40), Online publication date: 1-Aug-2009.
  7. ACM
    Zeng F Pattern-driven deadlock avoidance Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging, (1-8)
  8. Zhao Y, Zheng K, Wang H and Gao Z Tale in the multi-core era Proceedings of the 2009 IEEE international conference on Communications, (5462-5467)
  9. ACM
    Bodden E and Havelund K Racer Proceedings of the 2008 international symposium on Software testing and analysis, (155-166)
  10. ACM
    Fleming S, Stirewalt R and Kraemer E Toward a task model of concurrent software maintenance Proceedings of the 1st ACM international workshop on Empirical assessment of software engineering languages and technologies: held in conjunction with the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE) 2007, (23-24)
  11. Diaconescu R and Zima H (2007). An Approach To Data Distributions in Chapel, International Journal of High Performance Computing Applications, 21:3, (313-335), Online publication date: 1-Aug-2007.
  12. Haller P and Odersky M Actors that unify threads and events Proceedings of the 9th international conference on Coordination models and languages, (171-190)
  13. Lee E (2006). The Problem with Threads, Computer, 39:5, (33-42), Online publication date: 1-May-2006.
  14. ACM
    Pappalardo G and Tramontana E Automatically discovering design patterns and assessing concern separations for applications Proceedings of the 2006 ACM symposium on Applied computing, (1591-1596)
  15. Bensalem S and Havelund K Dynamic deadlock analysis of multi-threaded programs Proceedings of the First Haifa international conference on Hardware and Software Verification and Testing, (208-223)
  16. Wong C, Sura Z, Fang X, Lee K, Midkiff S, Lee J and Padua D Evaluating the impact of thread escape analysis on a memory consistency model-aware compiler Proceedings of the 18th international conference on Languages and Compilers for Parallel Computing, (170-184)
  17. Lee E and Zhao Y Reinventing computing for real time Proceedings of the 12th Monterey conference on Reliable systems on unreliable networked platforms, (1-25)
  18. Gulias V, Barreiro M and Freire J (2005). VoDKA: Developing a Video-on-Demand Server using Distributed Functional Programming, Journal of Functional Programming, 15:3, (403-430), Online publication date: 1-May-2005.
  19. Caromel D, Costanzo A, Gannon D and Slominski A Asynchronous Peer-to-PeerWeb Services and Firewalls Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Workshop 5 - Volume 06
  20. Zdun U, Kircher M and Volter M (2004). Remoting Patterns, IEEE Internet Computing, 8:6, (60-68), Online publication date: 1-Nov-2004.
  21. Tilevich E and Smaragdakis Y Portable and efficient distributed threads for Java Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware, (478-492)
  22. Li L and Verbrugge C A practical MHP information analysis for concurrent java programs Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing, (194-208)
  23. ACM
    Schmidt D, Gokhale A and Natarajan B (2004). Leveraging Application Frameworks, Queue, 2:5, (66-75), Online publication date: 1-Jul-2004.
  24. Bücker H, Lang B and Bischof C (2003). Parallel programming in computational science, Future Generation Computer Systems, 19:8, (1309-1319), Online publication date: 1-Nov-2003.
  25. ACM
    Gulias V, Valderruten A and Abalde C Building functional patterns for implementing distributed applications Proceedings of the 2003 IFIP/ACM Latin America conference on Towards a Latin American agenda for network research, (89-98)
  26. Schmidt D and Buschmann F Patterns, frameworks, and middleware Proceedings of the 25th International Conference on Software Engineering, (694-704)
  27. Thimbleby H Java Encyclopedia of Computer Science, (937-941)
  28. Hemmendinger D Concurrent programming Encyclopedia of Computer Science, (439-445)
  29. Laneve C (2003). A type system for JVM threads, Theoretical Computer Science, 290:1, (741-778), Online publication date: 1-Jan-2003.
  30. ACM
    Pike S Encapsulating concurrency with Early-Reply Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (18-19)
  31. Constantinides C, Elrad T and Fayad M (2002). Extending the object model to provide explicit support for crosscutting concerns, Software—Practice & Experience, 32:7, (703-734), Online publication date: 1-Jun-2002.
  32. ACM
    Roychoudhury A and Mitra T Specifying multithreaded Java semantics for program verification Proceedings of the 24th International Conference on Software Engineering, (489-499)
  33. Lee J and Padua D (2001). Hiding Relaxed Memory Consistency with a Compiler, IEEE Transactions on Computers, 50:8, (824-833), Online publication date: 1-Aug-2001.
  34. ACM
    Salcianu A and Rinard M (2001). Pointer and escape analysis for multithreaded programs, ACM SIGPLAN Notices, 36:7, (12-23), Online publication date: 1-Jul-2001.
  35. ACM
    Salcianu A and Rinard M Pointer and escape analysis for multithreaded programs Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming, (12-23)
  36. Bolognesi T (2000). Toward Constraint-Object-Oriented Development, IEEE Transactions on Software Engineering, 26:7, (594-616), Online publication date: 1-Jul-2000.
  37. ACM
    Bull J and Kambites M JOMP—an OpenMP-like interface for Java Proceedings of the ACM 2000 conference on Java Grande, (44-53)
  38. ACM
    Poggi A and Rimassa G An agent model platform for realizing efficient and reusable agent software Proceedings of the fourth international conference on Autonomous agents, (74-75)
  39. ACM
    Chen W, Ying Z and Defu Z (2000). An efficient method for expressing active object in C++, ACM SIGSOFT Software Engineering Notes, 25:3, (32-35), Online publication date: 1-May-2000.
  40. ACM
    Tichelaar S, Cruz J and Demeyer S Design guidelines for coordination components Proceedings of the 2000 ACM symposium on Applied computing - Volume 1, (270-277)
  41. ACM
    Danicic S and Harman M Espresso Proceedings of the 2000 ACM symposium on Applied computing - Volume 2, (831-839)
  42. ACM
    Naumovich G, Avrunin G and Clarke L (1999). An efficient algorithm for computing MHP information for concurrent Java programs, ACM SIGSOFT Software Engineering Notes, 24:6, (338-354), Online publication date: 1-Nov-1999.
  43. Suzuki J and Yamamoto Y Extending UML for modeling reflective software components Proceedings of the 2nd international conference on The unified modeling language: beyond the standard, (220-235)
  44. Damani O, Tarafdar A and Garg V Optimistic Recovery in Multi-Threaded Distributed Systems Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems
  45. Naumovich G, Avrunin G and Clarke L An efficient algorithm for computing MHP information for concurrent Java programs Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering, (338-354)
  46. ACM
    Herlihy M and Warres M A tale of two directories Proceedings of the ACM 1999 conference on Java Grande, (99-108)
  47. ACM
    Bergin J, Naps T, Bland C, Hartley S, Holliday M, Lawhead P, Lewis J, McNally M, Nevison C, Ng C, Pothering G and Teräsvirta T Java resources for computer science instruction Working Group reports of the 3rd annual SIGCSE/SIGCUE ITiCSE conference on Integrating technology into computer science education, (14-34)
  48. ACM
    Brosgol B (1998). A comparison of the concurrency features of Ada 95 and Java, ACM SIGAda Ada Letters, XVIII:6, (175-192), Online publication date: 1-Nov-1998.
  49. ACM
    Brosgol B A comparison of the concurrency features of Ada 95 and Java Proceedings of the 1998 annual ACM SIGAda international conference on Ada, (175-192)
  50. ACM
    Bergin J, Naps T, Bland C, Hartley S, Holliday M, Lawhead P, Lewis J, McNally M, Nevison C, Ng C, Pothering G and Teräsvirta T (1998). Java resources for computer science instruction, ACM SIGCUE Outlook, 26:4, (14-34), Online publication date: 1-Oct-1998.
  51. ACM
    Simons A (1998). Borrow, copy or steal?, ACM SIGPLAN Notices, 33:10, (65-83), Online publication date: 1-Oct-1998.
  52. ACM
    Simons A Borrow, copy or steal? Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (65-83)
  53. Lea D (1998). Patterns and the Democratization of Concurrent Programming, IEEE Concurrency, 6:4, (11-13), Online publication date: 1-Oct-1998.
  54. Ciancarini P, Franze` F and Mascolo C A Coordination Model to Specify Systems Including Mobile Agents Proceedings of the 9th international workshop on Software specification and design
  55. ACM
    Crawford G (1998). A practical crash course in Java 1.1+ programming and technology: part II, XRDS: Crossroads, The ACM Magazine for Students, 4:3, (24-29), Online publication date: 1-Apr-1998.
  56. Jagannathan S and Kelsey R On the Interaction of Mobile Processes and Objects Proceedings of the Seventh Heterogeneous Computing Workshop
  57. ACM
    Corbett J (1998). Constructing compact models of concurrent Java programs, ACM SIGSOFT Software Engineering Notes, 23:2, (1-10), Online publication date: 1-Mar-1998.
  58. ACM
    Corbett J Constructing compact models of concurrent Java programs Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis, (1-10)
  59. ACM
    Bayle E, Bellamy R, Casaday G, Erickson T, Fincher S, Grinter B, Gross B, Lehder D, Marmolin H, Moore B, Potts C, Skousen G and Thomas J (1998). Putting it all together, ACM SIGCHI Bulletin, 30:1, (17-23), Online publication date: 1-Jan-1998.
  60. Wang Y, Vishnuvajjala R and Tsai W Sequence Specification for Concurrent Object-Oriented Applications Proceedings of the 3rd Workshop on Object-Oriented Real-Time Dependable Systems - (WORDS '97)
Contributors
  • SUNY Oswego

Recommendations