4 个版本

0.1.3 2019年7月28日
0.1.2 2019年7月28日
0.1.1 2019年7月28日
0.1.0 2019年7月27日

#2647Rust 模式

MIT 许可证

6KB
99

Unchained

允许在应用每个项目时按线程迭代集合的特质

示例

use unchained::Unchained;

// download all the pages at the same time by using a thread per item
fn download_all {
    let pages = vec![
        "https://doc.rust-lang.net.cn/stable/std/",
        "https://doc.rust-lang.net.cn/stable/std/#modules",
        "https://doc.rust-lang.net.cn/stable/std/#primitives",
        "https://doc.rust-lang.net.cn/stable/std/#macros",
        "https://doc.rust-lang.net.cn/stable/std/prelude/index.html",
        "https://doc.rust-lang.net.cn/stable/book/ch03-02-data-types.html",
    ];
    download_all_inner(pages);
}

fn download_all_inner(pages: Vec<&'static str>) {
    pages
        .into_iter()
        .unchained_for_each(|page| {
            println!(
                "{}:\n\n{}",
                &page,
                String::from_utf8(
                    std::process::Command::new("curl")
                        .arg(&page)
                        .output()
                        .unwrap()
                        .stdout
                )
                .unwrap()
            );
            println!("\n#######################\n");
        });
}

您还可以查看使用 Unchained 并行化搜索请求的 rustman

无运行时依赖