From 18923b0952dbcf30cc16d45e4e45128641897d3f Mon Sep 17 00:00:00 2001 From: Shautvast Date: Mon, 9 Feb 2026 20:26:07 +0100 Subject: [PATCH] #18 threadpool #7 --- src/main.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 10c80c3..9881f40 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,7 @@ use log::info; use std::io::{Read, Write}; use std::net::{TcpListener, TcpStream}; -use std::sync::mpsc; +use std::sync::{mpsc, Arc, Mutex}; use std::{sync, thread}; static GET: &'static [u8] = b"GET / HTTP/1.1\r\n"; @@ -35,8 +35,9 @@ impl ThreadPool { assert!(size > 0); let mut workers = Vec::with_capacity(size); let (sender, receiver) = mpsc::channel(); + let receiver = Arc::new(Mutex::new(receiver)); for id in 0..size { - workers.push(Worker::new(id, receiver)) + workers.push(Worker::new(id, Arc::clone(&receiver))) } Self { workers, sender } }