diff --git a/src/main.rs b/src/main.rs index b1b472d..10c80c3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,23 +6,25 @@ use std::{sync, thread}; static GET: &'static [u8] = b"GET / HTTP/1.1\r\n"; -pub struct ThreadPool { - workers: Vec, - sender: mpsc::Sender, -} - struct Worker { id: usize, thread: thread::JoinHandle<()>, } impl Worker { - fn new(id: usize) -> Worker { - let thread = thread::spawn(|| {}); + fn new(id: usize, receiver: mpsc::Receiver) -> Worker { + let thread = thread::spawn(|| { + receiver; + }); Worker { id, thread } } } +pub struct ThreadPool { + workers: Vec, + sender: mpsc::Sender, +} + impl ThreadPool { /// Create a new ThreadPool /// @@ -34,7 +36,7 @@ impl ThreadPool { let mut workers = Vec::with_capacity(size); let (sender, receiver) = mpsc::channel(); for id in 0..size { - workers.push(Worker::new(id)) + workers.push(Worker::new(id, receiver)) } Self { workers, sender } }