作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Rayon 库:
extern crate rayon;
const N: usize = 1_000_000_000;
const W: f64 = 1f64/(N as f64);
fn f(x: f64) -> f64 {
4.0/(1.0+x*x)
}
fn main() {
use rayon::prelude::*;
let sum : f64 = (0..N)
.into_par_iter()
.map(|i| f(W*((i as f64)+0.5)))
.sum::<f64>();
println!("pi = {}", W*sum);
}
我想使用不同数量的线程运行此代码:1、2、3 和 4。
By default, Rayon uses the same number of threads as the number of CPUs available. Note that on systems with hyperthreading enabled this equals the number of logical cores and not the physical ones.
If you want to alter the number of threads spawned, you can set the environmental variable
RAYON_NUM_THREADS
to the desired number of threads or use theThreadPoolBuilder::build_global
function method.
最佳答案
只需包含在 fn main() 中。 num_threads 接受线程数。rayon::ThreadPoolBuilder::new().num_threads(4).build_global().unwrap();
关于multithreading - 如何更改 Rayon 使用的线程数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59205184/
我是一名优秀的程序员,十分优秀!