製作多執行緒web server,支援Thread pool job scheduling。 每個HTTP request 不會建立新的thread,而是由固定數量的worker threads從job queue中取出request並處理,減低contex switch。
multi-threaded-webserver/ ├── src/ │ ├── main.cpp # 程式進入點 │ ├── server.cpp # TCP socket 初始化、連線處理 │ ├── threadpool.cpp # Thread Pool 實作 │ └── http_handler.cpp # HTTP 請求解析與回應 ├── include/ │ ├── server.h │ ├── threadpool.h │ └── http_handler.h ├── CMakeLists.txt └── README.md
mkdir build && cd build cmake .. make
./webserver 8080