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
- 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)
- 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)
- 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.
- 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)
- McKenney P Beyond expert-only parallel programming? Proceedings of the 2012 ACM workshop on Relaxing synchronization for multicore and manycore scalability, (25-32)
- 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.
- Zeng F Pattern-driven deadlock avoidance Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging, (1-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)
- Bodden E and Havelund K Racer Proceedings of the 2008 international symposium on Software testing and analysis, (155-166)
- 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)
- 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.
- Haller P and Odersky M Actors that unify threads and events Proceedings of the 9th international conference on Coordination models and languages, (171-190)
- Lee E (2006). The Problem with Threads, Computer, 39:5, (33-42), Online publication date: 1-May-2006.
- 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)
- 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)
- 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)
- 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)
- 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.
- 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
- Zdun U, Kircher M and Volter M (2004). Remoting Patterns, IEEE Internet Computing, 8:6, (60-68), Online publication date: 1-Nov-2004.
- 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)
- 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)
- Schmidt D, Gokhale A and Natarajan B (2004). Leveraging Application Frameworks, Queue, 2:5, (66-75), Online publication date: 1-Jul-2004.
- 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.
- 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)
- Schmidt D and Buschmann F Patterns, frameworks, and middleware Proceedings of the 25th International Conference on Software Engineering, (694-704)
- Thimbleby H Java Encyclopedia of Computer Science, (937-941)
- Hemmendinger D Concurrent programming Encyclopedia of Computer Science, (439-445)
- Laneve C (2003). A type system for JVM threads, Theoretical Computer Science, 290:1, (741-778), Online publication date: 1-Jan-2003.
- 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)
- 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.
- Roychoudhury A and Mitra T Specifying multithreaded Java semantics for program verification Proceedings of the 24th International Conference on Software Engineering, (489-499)
- 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.
- 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.
- 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)
- Bolognesi T (2000). Toward Constraint-Object-Oriented Development, IEEE Transactions on Software Engineering, 26:7, (594-616), Online publication date: 1-Jul-2000.
- Bull J and Kambites M JOMP—an OpenMP-like interface for Java Proceedings of the ACM 2000 conference on Java Grande, (44-53)
- 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)
- 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.
- 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)
- Danicic S and Harman M Espresso Proceedings of the 2000 ACM symposium on Applied computing - Volume 2, (831-839)
- 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.
- 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)
- Damani O, Tarafdar A and Garg V Optimistic Recovery in Multi-Threaded Distributed Systems Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems
- 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)
- Herlihy M and Warres M A tale of two directories Proceedings of the ACM 1999 conference on Java Grande, (99-108)
- 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)
- 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.
- 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)
- 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.
- Simons A (1998). Borrow, copy or steal?, ACM SIGPLAN Notices, 33:10, (65-83), Online publication date: 1-Oct-1998.
- Simons A Borrow, copy or steal? Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (65-83)
- Lea D (1998). Patterns and the Democratization of Concurrent Programming, IEEE Concurrency, 6:4, (11-13), Online publication date: 1-Oct-1998.
- 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
- 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.
- Jagannathan S and Kelsey R On the Interaction of Mobile Processes and Objects Proceedings of the Seventh Heterogeneous Computing Workshop
- 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.
- Corbett J Constructing compact models of concurrent Java programs Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis, (1-10)
- 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.
- 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)