let mut sum = 0.0; for i in begin..end{ sum += if i % 2 == 0 {1.0} else {-1.0} / (2.0 * i as f32 + 1.0); } sum * 4.0 } const N_THREAD: i32 = 10; fn main() { let mut children = vec![]; let base = 100000000 / N_THREAD; for i in 0..N_THREAD{ children.push(thread::spawn(move || { calc(i*base, (i+1)*base) })); } let mut sum = 0.0; for c in children{ let ret = c.join().unwrap(); sum += ret; } println!("{}", sum); }