Log In
Join
 for free
Java Multithreading for Senior Engineering Interviews
0/3 Objectives Completed (0%)
RECOMMENDED
Understanding Java Multithreading Fundamentals
The Basics
Introduction
Program vs Process vs Thread
Concurrency vs Parallelism
Cooperative Multitasking vs Preemptive Multitasking
Synchronous vs Asynchronous
I/O Bound vs CPU Bound
Throughput vs Latency
Critical Sections & Race Conditions
Deadlocks, Liveness & Reentrant Locks
Mutex vs Semaphore
Mutex vs Monitor
Java's Monitor & Hoare vs Mesa Monitors
Semaphore vs Monitor
Amdahl's Law
Moore's Law
Multithreading in Java
Atomic Assignments
Thready Safety & Synchronized
Wait & Notify
Interrupting Threads
Volatile
Reentrant Locks & Condition Variables
Missed Signals
Semaphore in Java
Spurious Wakeups
Atomic Classes
More on Atomics
Non-blocking Synchronization
Miscellaneous Topics
Java's Memory Model
Memory Model
Reordering Effects
The happens-before Relationship and Model
Review My Learning
Beta
Applying Multithreading in Interview Scenarios
Interview Practice Problems
Blocking Queue | Bounded Buffer | Consumer Producer
... continued
... continued
Rate Limiting Using Token Bucket Filter
... continued
Thread Safe Deferred Callback
Implementing Semaphore
ReadWrite Lock
Unisex Bathroom Problem
Implementing a Barrier
Uber Ride Problem
Dining Philosophers
Barber Shop
Superman Problem
... continued
Multithreaded Merge Sort
Asynchronous to Synchronous Problem
Nonblocking Stack
Epilogue
Bonus Questions
Ordered Printing
Printing Foo Bar n Times
Printing Number Series (Zero, Even, Odd)
Build a Molecule
Fizz Buzz Problem
Review My Learning
Beta
Deep Dive into Java Concurrency Utilities
Beyond the Interview
Next Steps
Java Concurrency Reference
Setting-up Threads
Basic Thread Handling
Executor Framework
Executor Implementations
Thread Pools
Types of Thread Pools
An Example: Timer vs ScheduledThreadPool
ThreadPoolExecutor
Callable Interface
Future Interface
CompletionService Interface
ThreadLocal
ThreadLocalRandom
CountDownLatch
CyclicBarrier
Concurrent Collections
ConcurrentHashMap
ConcurrentModificationException
Lock Interface
LockSupport
ReentrantLock
ReadWriteLock
StampedLock
Atomic Boolean
AtomicInteger
AtomicIntegerArray
AtomicIntegerFieldUpdater
AtomicLong
AtomicLongArray
AtomicLongFieldUpdater
LongAdder
LongAccumulator
DoubleAdder
DoubleAccumulator
AtomicReference
AtomicReferenceArray
AtomicReferenceFieldUpdater
AtomicStampedReference
AtomicMarkableReference
Exchanger
Phaser
IllegalMonitorStateException
TimeoutException
CancellationException
ExecutionException
RejectedExecutionException
CompletionException
BrokenBarrierException
Annotations
Revision & Quizzes
Quiz 1
Quiz 2
Quiz 3
Quiz 4
Quiz 5
Quiz 6
Quiz 7
Quiz 8
Review My Learning
Beta
Executor Implementations
We'll cover the following
Sequential Approach
Unbounded Thread Approach
Level up your interview prep. Join Educative to access 80+ hands-on prep courses.
Start Learning