# core_affinity_rs **Repository Path**: mozgs/core_affinity_rs ## Basic Information - **Project Name**: core_affinity_rs - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README `core_affinity_rs` is a Rust crate for managing CPU affinities. It currently supports Linux, Mac OSX, and Windows. [Documentation](https://docs.rs/core_affinity) # Example This example shows how create a thread for each available processor and pin each thread to its corresponding processor. ```rust extern crate core_affinity; use std::thread; // Retrieve the IDs of all cores on which the current // thread is allowed to run. // NOTE: If you want ALL the possible cores, you should // use num_cpus. let core_ids = core_affinity::get_core_ids().unwrap(); // Create a thread for each active CPU core. let handles = core_ids.into_iter().map(|id| { thread::spawn(move || { // Pin this thread to a single CPU core. let res = core_affinity::set_for_current(id); if (res) { // Do more work after this. } }) }).collect::>(); for handle in handles.into_iter() { handle.join().unwrap(); } ``` # Platforms `core_affinity_rs` should work on Linux, Windows, Mac OSX, FreeBSD, NetBSD, and Android.