Please enable JavaScript.
Coggle requires JavaScript to display documents.
Java Concurrency (Advanced Topic (Explicit Locks (Lock and ReentrantLock,…
Java Concurrency
Advanced Topic
Explicit Locks
Lock and ReentrantLock
Performance considerations
Fairness
Choosing between synchronized and ReentrantLock
Read-Write Locks
Building Custom Synchronizer
Manage state dependence
Using condition queue
Explicit condition objects
Anatomy of a synchronizer
AQS = AbstractQueuedSynchronizer
Atomic Variables and Nonblocking Synchronization
JMM
Structuring Concurrent Applications
Task Execution
Cancellation and Shutdown
Applying Thread Pool
GUI Application
Fundamentals
Thread Safety
Atomicity
Locking
Guarding state with locks
Liveness and Performance
Sharing Objects
Visiblity
Immutablity
Thread confinement
Composing Objects
Building Blocking
Synchronized Collections
Concurrent Collections
Blocking Queue and product-consumer pattern
Synchronizers
Liveness, Performance, Testing
Avoiding Liveness Hazards
DeadLock
Avoiding and diagnosing deadlock
Other liveness hazards
Performance and Scalability
Amdahl's law
Reducing lock contention
Reducing context switch overhead
Testing Concurrent Programs
Testing for performance
Testing for correctness
Avoiding performance testing pitfalls
Complementary testing approaches