UsefulLinks
Computer Science
Programming
By Language
Java Programming
1. Introduction to Java
2. Core Language Fundamentals
3. Object-Oriented Programming (OOP) in Java
4. Exception Handling
5. Java Collections Framework
6. Generics
7. Input/Output (I/O)
8. Concurrency and Multithreading
9. Modern Java Features (Java 8 and beyond)
10. Java Virtual Machine (JVM) Internals
11. Build Tools and Dependency Management
12. Testing in Java
13. Database Connectivity (JDBC)
8.
Concurrency and Multithreading
8.1.
Introduction to Threads
8.1.1.
Definition of Threads
8.1.2.
Processes vs. Threads
8.1.3.
The Java Memory Model
8.2.
Creating Threads
8.2.1.
Extending the Thread Class
8.2.2.
Implementing the Runnable Interface
8.2.3.
Lambda Expressions for Threads
8.3.
Thread Lifecycle
8.3.1.
Thread States
8.3.1.1.
NEW
8.3.1.2.
RUNNABLE
8.3.1.3.
BLOCKED
8.3.1.4.
WAITING
8.3.1.5.
TIMED_WAITING
8.3.1.6.
TERMINATED
8.3.2.
State Transitions
8.4.
Thread Synchronization
8.4.1.
The synchronized Keyword
8.4.1.1.
Synchronized Methods
8.4.1.2.
Synchronized Blocks
8.4.2.
Race Conditions
8.4.3.
Critical Sections
8.4.4.
Intrinsic Locks (Monitors)
8.4.5.
Deadlock
8.4.6.
Livelock
8.4.7.
Starvation
8.5.
Inter-thread Communication
8.5.1.
wait() Method
8.5.2.
notify() Method
8.5.3.
notifyAll() Method
8.5.4.
Producer-Consumer Problem
8.6.
The java.util.concurrent Package
8.6.1.
Overview of Concurrency Utilities
8.6.2.
Executor and ExecutorService
8.6.2.1.
Thread Pool Management
8.6.3.
Thread Pools
8.6.3.1.
Fixed Thread Pool
8.6.3.2.
Cached Thread Pool
8.6.3.3.
Scheduled Thread Pool
8.6.4.
Callable and Future
8.6.4.1.
Asynchronous Computation
8.6.5.
CompletableFuture
8.6.6.
Locks
8.6.6.1.
ReentrantLock
8.6.6.2.
ReadWriteLock
8.6.6.3.
StampedLock
8.6.7.
Atomic Variables
8.6.7.1.
AtomicInteger
8.6.7.2.
AtomicReference
8.6.7.3.
AtomicBoolean
8.6.8.
Concurrent Collections
8.6.8.1.
ConcurrentHashMap
8.6.8.2.
CopyOnWriteArrayList
8.6.8.3.
BlockingQueue
8.6.9.
Synchronizers
8.6.9.1.
CountDownLatch
8.6.9.2.
CyclicBarrier
8.6.9.3.
Semaphore
8.6.9.4.
Phaser
Previous
7. Input/Output (I/O)
Go to top
Next
9. Modern Java Features (Java 8 and beyond)