[−][src]Crate per_thread_object
Efficient per-object thread-local storage implementation.
use std::thread; use std::sync::Arc; use std::cell::RefCell; use per_thread_object::ThreadLocal; fn default() -> RefCell<u32> { RefCell::new(0x0) } let tl: Arc<ThreadLocal<RefCell<u32>>> = Arc::new(ThreadLocal::new()); let tl2 = tl.clone(); thread::spawn(move || { *tl2.get_or(default) .borrow_mut() += 1; assert_eq!(0x1, *tl2.get().unwrap().borrow()); }) .join() .unwrap(); *tl.get_or(default) .borrow_mut() += 2; assert_eq!(0x2, *tl.get_or(default).borrow());
Structs
ThreadLocal | Per-object thread-local storage |
Constants
DEFAULT_PAGE_CAP |