Brian Goetz

#Java
#Concurrency
#high-performance
Threads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice, the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them.
However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.
This book covers:
1 Introduction
I: Fundamentals
2 Thread Safety
3 Sharing Objects
4 Composing Objects
5 Building Blocks
II: Structuring Concurrent Applications
6 Task Execution
7 Cancellation and Shutdown
8 Applying Thread Pools
9 GUI Applications
III: Liveness, Performance, and Testing
10 Avoiding Liveness Hazards
11 Performance and Scalability
12 Testing Concurrent Programs
IV: Advanced Topics
13 Explicit Locks
14 Building Custom Synchronizers
15 Atomic Variables and Nonblocking Synchronization
16 The Java Memory Model
Annotations for Concurrency
Brian Goetz is a software consultant with twenty years industry experience, with over 75 articles on Java development. He is one of the primary members of the Java Community Process JSR 166 Expert Group (Concurrency Utilities), and has served on numerous other JCP Expert Groups.









