easy-parallel 1.0.0

Easy parallel closures
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use std::sync::Mutex;

use easy_parallel::Parallel;

#[test]
fn smoke() {
    let m = Mutex::new(0);
    let v = vec![2, 3, 5, 7, 11];

    Parallel::new()
        .add(|| *m.lock().unwrap() += 10)
        .add(|| *m.lock().unwrap() += 20)
        .each(v.iter(), |n| *m.lock().unwrap() += *n)
        .run();

    assert_eq!(m.into_inner().unwrap(), 10 + 20 + v.iter().sum::<i32>());
}