// ANCHOR: here use std::thread; pub struct ThreadPool { threads: Vec>, } impl ThreadPool { // --snip-- // ANCHOR_END: here /// Create a new ThreadPool. /// /// The size is the number of threads in the pool. /// /// # Panics /// /// The `new` function will panic if the size is zero. // ANCHOR: here pub fn new(size: usize) -> ThreadPool { assert!(size > 0); let mut threads = Vec::with_capacity(size); for _ in 0..size { // create some threads and store them in the vector } ThreadPool { threads } } // --snip-- // ANCHOR_END: here pub fn execute(&self, f: F) where F: FnOnce() + Send + 'static, { } // ANCHOR: here } // ANCHOR_END: here