Skip to content
javabypankaj
HomeLibraryPopularCommunity
05
Concurrency & Multithreading
22 topics · 127 questions
1Thread Basics & Overview0/772Synchronization0/883volatile0/554Race Conditions0/335Deadlock, Livelock & Starvation0/46wait/notify, sleep/yield & Producer-Consumer0/667Atomic Classes & CAS0/448Locks: ReentrantLock, ReadWriteLock, StampedLock0/779Safe Publication & Memory Model0/5510Thread Pool & Executor Framework0/8811Thread Pool: Sizing & Pitfalls0/7712ThreadLocal & Thread Confinement0/6613Daemon Threads & JVM Shutdown0/3314CompletableFuture & Resilience0/191915Synchronization Utilities: Latch, Barrier, Semaphore0/6616ForkJoinPool & Work Stealing0/5517Concurrent Collections0/3318Thread Lifecycle: Priority, Interruption, Factory0/5519Thread Troubleshooting0/5520Reactive & Flow API0/2221Benchmarking & Load Testing0/4422Advanced: Disruptor, Actor, False Sharing0/55
1Thread Basics & Overview72Synchronization83volatile54Race Conditions35Deadlock, Livelock & Starvation46wait/notify, sleep/yield & Producer-Consumer67Atomic Classes & CAS48Locks: ReentrantLock, ReadWriteLock, StampedLock79Safe Publication & Memory Model510Thread Pool & Executor Framework811Thread Pool: Sizing & Pitfalls712ThreadLocal & Thread Confinement613Daemon Threads & JVM Shutdown314CompletableFuture & Resilience1915Synchronization Utilities: Latch, Barrier, Semaphore616ForkJoinPool & Work Stealing517Concurrent Collections318Thread Lifecycle: Priority, Interruption, Factory519Thread Troubleshooting520Reactive & Flow API221Benchmarking & Load Testing422Advanced: Disruptor, Actor, False Sharing5
22 topics127 Qs0%
01Core Java17002OOP3203Collections6704Exception Handling2805Concurrency & Multithreading12706Java Streams, Lambda & Functional Programming32807Spring & Spring Boot2608Transactions3209JPA & Hibernate6910Microservices19411Kafka & Messaging9112DevOps, CI/CD & Tooling13313Database & SQL14114REST API & Web4015Design Patterns & LLD5716Advanced Java7117Coding Problems: DSA49218AWS & Cloud4119Data Engineering19420QA, Testing & SDET4121System Design3522Security2023Behavioral / HR: STAR Method37
22Topics
127Questions
0%Complete
5 of 22 topics
Topics
1Thread Basics & Overview0/772Synchronization0/883volatile0/554Race Conditions0/33
5Deadlock, Livelock & Starvation0/44
6wait/notify, sleep/yield & Producer-Consumer0/667Atomic Classes & CAS0/448Locks: ReentrantLock, ReadWriteLock, StampedLock0/779Safe Publication & Memory Model0/5510Thread Pool & Executor Framework0/8811Thread Pool: Sizing & Pitfalls0/7712ThreadLocal & Thread Confinement0/6613Daemon Threads & JVM Shutdown0/3314CompletableFuture & Resilience0/191915Synchronization Utilities: Latch, Barrier, Semaphore0/6616ForkJoinPool & Work Stealing0/5517Concurrent Collections0/3318Thread Lifecycle: Priority, Interruption, Factory0/5519Thread Troubleshooting0/5520Reactive & Flow API0/2221Benchmarking & Load Testing0/4422Advanced: Disruptor, Actor, False Sharing0/55

Deadlock, Livelock & Starvation

Concurrency & Multithreading·Topic 5 of 22·4 questions
Q1What is a deadlock?

A deadlock occurs when two or more threads permanently block each other, each holding a lock the other needs, and the fix is to always acquire locks in a consistent order.

Read Answer
Q2How do you detect and prevent deadlocks?

Detect deadlocks with jstack and ThreadMXBean, prevent them with lock ordering, tryLock(timeout), and ReadWriteLock.

Read Answer
Q3What are the four conditions for deadlock?

Deadlock requires all four Coffman conditions simultaneously: mutual exclusion, hold-and-wait, no preemption, and circular wait. Breaking any one makes deadlock impossible.

Read Answer
Q4Deadlock vs livelock vs starvation?

Deadlock is threads BLOCKED forever in a circular lock wait (zero CPU), livelock is threads RUNNING but making no progress (high CPU, zero throughput), and starvation is a thread perpetually denied access (never gets its turn).

Read Answer
Previous · Topic 4Race Conditions3 questionsNext · Topic 6wait/notify, sleep/yield & Producer-Consumer6 questions
javabypankaj© 2026 javabypankaj
PrivacyTerms
HomeSearchLibrary