This project demonstrates the implementation of single-threaded, multi-threaded, and thread pool–based web servers in Java.
It shows how server-side concurrency works and how multiple clients can connect to a server simultaneously using Java’s Socket, ServerSocket, Thread, and ExecutorService APIs.
- 🧩 SingleThreaded Server — handles one client at a time
- ⚡ MultiThreaded Server — creates a new thread for each client
- 🧵 ThreadPool Server — uses a fixed pool of threads for better resource management
- 💬 Simple Client programs for each server type
- 🔄 Demonstrates socket communication, concurrency, and I/O handling in Java
- Socket Programming
- Multithreading
- ExecutorService and Thread Pools
- Resource management and synchronization
- Client-Server architecture