Function std::thread::available_concurrency[][src]

pub fn available_concurrency() -> Result<NonZeroUsize>
🔬 This is a nightly-only experimental API. (available_concurrency #74479)
Expand description

返回程序可用的硬件线程数。

此值应仅视为提示。

平台特定的行为

如果将其解释为实际的硬件线程数,则在具有 64 个以上的硬件线程的 Windows 系统上,它可能会被低估。 如果将其解释为该进程的可用并发性,则在受进程范围的亲和力掩码或作业 object 限制的情况下,它可能在 Windows 系统上计数过多,而在受到进程范围的亲和力掩码的限制或 cgroups 限制的影响下,它在 Linux 系统上可能计数过多。

Errors

在以下情况下,此函数将返回错误,但不仅限于这些情况:

  • 目标平台的硬件线程数是否未知。
  • 该进程缺乏查看可用硬件线程数的权限。

Examples

#![feature(available_concurrency)]
use std::thread;

let count = thread::available_concurrency().map(|n| n.get()).unwrap_or(1);
Run