---
title: "Chapter 26: Final Project: Multithreaded Web Server"
description: "The 4 lessons of chapter 26: Final Project: Multithreaded Web Server, in teaching order."
url: "https://learnrust.net/chapter-26/"
last_updated: "2026-06-13"
---

# Chapter 26: Final Project: Multithreaded Web Server

- [26.1 A single-threaded web server](https://learnrust.net/chapter-26/single-threaded-web-server.md): Building a working web server from scratch: listening on a TCP port, reading an HTTP request, and writing an HTTP response by hand.
- [26.2 From single to multithreaded](https://learnrust.net/chapter-26/from-single-to-multithreaded.md): The design conversation: why thread-per-request doesn't scale, what a thread pool is, and the interface we'll build toward.
- [26.3 Building the thread pool](https://learnrust.net/chapter-26/building-the-thread-pool.md): Implementing the pool: workers, a channel to send jobs, an Arc<Mutex> shared receiver, and the Box<dyn FnOnce + Send> job type that ties the course together.
- [26.4 Graceful shutdown](https://learnrust.net/chapter-26/graceful-shutdown.md): Finishing the server with a clean shutdown: a Drop implementation that closes the channel and joins every worker, and the end of the course.

## Sitemap

See the full [sitemap](https://learnrust.net/sitemap.md) for all pages.
