# strided-exec
Splittable CPU placement for the strided stack. `strided-exec` is the one place
that starts tasks: kernels take an `Exec` token and split it, and no scheduler
type appears in any public signature.
Design record: `docs/design/cpu-exec-placement.md` (placement proposal for
tenferro-rs#2206, #2272, #2273).
## Usage
```rust
use std::sync::atomic::{AtomicUsize, Ordering};
use strided_exec::{Exec, Pool};
// The owner builds a pool once and keeps it.
let pool = Pool::builder().threads(4).build()?;
// Per call, the owner mints a token for `budget` slots of the pool.
let mut exec = Exec::new(&pool, 4)?;
// Several phases in sequence: reborrow, because entries consume the token.
let total = AtomicUsize::new(0);
});
// Independent parts: each job gets a child token with its share of the slots.