csv_base/src/id_sequence.rs
2025-02-20 08:37:31 +01:00

18 lines
370 B
Rust

use std::sync::atomic::{AtomicUsize, Ordering};
#[derive(Debug)]
pub struct ThreadSafeIdGenerator {
counter: AtomicUsize,
}
impl ThreadSafeIdGenerator {
pub fn new(start: usize) -> Self {
Self {
counter: AtomicUsize::new(start),
}
}
pub fn next(&self) -> usize {
self.counter.fetch_add(1, Ordering::SeqCst)
}
}