Rust 程序设计语言 简体中文版 1.85.0
ThreadPool { workers: Vec, 524/562Rust 程序设计语言 简体中文版 } impl ThreadPool { // --snip-- pub fn new(size: usize) -> ThreadPool { assert!(size > 0); let mut workers = Vec::with_capacity(size); Vec::with_capacity(size); for id in 0..size { workers.push(Worker::new(id)); } ThreadPool { workers } } // --snip-- } struct Worker { id: usize, thread: Worker 实例而不是直接存放线程 这里将 ThreadPool 中字段名从 threads 改为 workers,因为它现在存储 Worker 而不是 JoinHandle<()>。使用 for 循环中的计数作为 Worker::new 的参数,并将每一个新建的 Worker 存储在叫做 workers 的 vector 中。 Worker 结构体和其 new 函数是私有的,因为外部代码(比如 src/main 0 码力 | 562 页 | 3.23 MB | 9 天前3
共 1 条
- 1