Flylib.com
Java Concurrency in Practice
ISBN: 0321349601
EAN: 2147483647
Year: 2004
Pages: 141
Authors:
Brian Goetz
,
Tim Peierls
,
Joshua Bloch
,
Joseph Bowbeer
,
David Holmes
,
Doug Lea
BUY ON AMAZON
Introduction
Introduction
A (Very) Brief History of Concurrency
Benefits of Threads
Risks of Threads
Threads are Everywhere
Part I: Fundamentals
Thread Safety
Thread Safety
What is Thread Safety?
Atomicity
Locking
Guarding State with Locks
Liveness and Performance
Sharing Objects
Sharing Objects
Visibility
Publication and Escape
Thread Confinement
Immutability
Safe Publication
Composing Objects
Composing Objects
Designing a Thread-safe Class
Instance Confinement
Delegating Thread Safety
Adding Functionality to Existing Thread-safe Classes
Documenting Synchronization Policies
Building Blocks
Building Blocks
Synchronized Collections
Concurrent Collections
Blocking Queues and the Producer-consumer Pattern
Blocking and Interruptible Methods
Synchronizers
Building an Efficient, Scalable Result Cache
Summary of Part I
Part II: Structuring Concurrent Applications
Part II: Structuring Concurrent Applications
Task Execution
Task Execution
Executing Tasks in Threads
The Executor Framework
Finding Exploitable Parallelism
Summary
Cancellation and Shutdown
Cancellation and Shutdown
Task Cancellation
Stopping a Thread-based Service
Handling Abnormal Thread Termination
JVM Shutdown
Summary
Applying Thread Pools
Applying Thread Pools
Implicit Couplings Between Tasks and Execution Policies
Sizing Thread Pools
Configuring ThreadPoolExecutor
Extending ThreadPoolExecutor
Parallelizing Recursive Algorithms
Summary
GUI Applications
GUI Applications
Why are GUIs Single-threaded?
Short-running GUI Tasks
Long-running GUI Tasks
Shared Data Models
Other Forms of Single-threaded Subsystems
Summary
Part III: Liveness, Performance, and Testing
Avoiding Liveness Hazards
Avoiding Liveness Hazards
Deadlock
Avoiding and Diagnosing Deadlocks
Other Liveness Hazards
Summary
Performance and Scalability
Performance and Scalability
Thinking about Performance
Amdahls Law
Costs Introduced by Threads
Reducing Lock Contention
Example: Comparing Map Performance
Reducing Context Switch Overhead
Summary
Testing Concurrent Programs
Testing Concurrent Programs
Testing for Correctness
Testing for Performance
Avoiding Performance Testing Pitfalls
Complementary Testing Approaches
Summary
Part IV: Advanced Topics
Explicit Locks
Explicit Locks
Lock and ReentrantLock
Performance Considerations
Fairness
Choosing Between Synchronized and ReentrantLock
Read-write Locks
Summary
Building Custom Synchronizers
Building Custom Synchronizers
Managing State Dependence
Using Condition Queues
Explicit Condition Objects
Anatomy of a Synchronizer
AbstractQueuedSynchronizer
AQS in Java.util.concurrent Synchronizer Classes
Summary
Atomic Variables and Nonblocking Synchronization
Atomic Variables and Nonblocking Synchronization
Disadvantages of Locking
Hardware Support for Concurrency
Atomic Variable Classes
Nonblocking Algorithms
Summary
The Java Memory Model
The Java Memory Model
What is a Memory Model, and Why would I Want One?
Publication
Initialization Safety
Summary
Appendix A. Annotations for Concurrency
Section A.1. Class Annotations
Section A.2. Field and Method Annotations
Java Concurrency in Practice
ISBN: 0321349601
EAN: 2147483647
Year: 2004
Pages: 141
Authors:
Brian Goetz
,
Tim Peierls
,
Joshua Bloch
,
Joseph Bowbeer
,
David Holmes
,
Doug Lea
BUY ON AMAZON
Systematic Software Testing (Artech House Computer Library)
Risk Analysis
Master Test Planning
Appendix A Glossary of Terms
Appendix B Testing Survey
Appendix C IEEE Templates
Developing Tablet PC Applications (Charles River Media Programming)
Introduction to Visual Basic .NET
Tablet PC Full Screen Utility
Form Effects
Not Quite a Magic Ball
Storing Ink in a Database
MySQL Clustering
Startup Phases
Performance Metrics
What to Look for When Something Goes Wrong
Individual Programs
Logging Commands
Microsoft Windows Server 2003(c) TCP/IP Protocols and Services (c) Technical Reference
Local Area Network (LAN) Technologies
Internet Protocol (IP) Addressing
User Datagram Protocol
Transmission Control Protocol (TCP) Connections
Dynamic Host Configuration Protocol (DHCP) Server Service
Telecommunications Essentials, Second Edition: The Complete Global Source (2nd Edition)
The PSTN Infrastructure
Internet Addressing and Address Resolution
Whats Next on the Internet
The Evolution to IP Services
Fiber Solutions
Comparing, Designing, and Deploying VPNs
Summary
The Carriers Carrier Architecture
Summary
Scaling IPsec Virtual Private Networks
Review Questions
flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net
Privacy policy
This website uses cookies. Click
here
to find out more.
Accept cookies