# hipthread 在no-std环境下,å°è£…unixçš„pthreadå’Œmingwçš„winpthread, å¯æ”¯æŒunixå’Œwindows. ## v0.1.3版本更新 消除åªæ”¯æŒ`***-pc-windows-gnu`的约æŸï¼Œä¹Ÿå¯ä»¥æ”¯æŒ`***-pc-windows-msvc`, åªæ˜¯è¿è¡Œæ—¶ä¾èµ–`mingw`çš„`libwinpthread-1.dll`. ## v0.1.2版本功能 1. 新增`LocalKey<T>`: å°è£…`ThrdLocal`,更方便使用 ```rust static KEY: LocalKey<i32> = LocalKey::new(); fn main() { assert!(KEY.get().is_null()); KEY.set(&101); spawn(|| { assert!(KEY.get().is_null()); KEY.set(&102); }).unwrap().join(); assert_eq!(KEY.replace(core::ptr::null()), &101); } ``` ## v0.1.1版本功能 1. 新增`LocalRefCell<T>`: æä¾›`RefCell<T>`类型的TLSå˜é‡æ“ä½œæŽ¥å£ 1. 新增`LocalCell<T>`: æä¾›`Cell<T>`类型的TLSå˜é‡æ“ä½œæŽ¥å£ ```rust static LOCAL: LocalCell<i32> = LocalCell::new(|| 100); fn main() { assert_eq!(LOCAL.get(), 100); LOCAL.replace(200); let handle = spawn(|| { LOCAL.replace(300); LOCAL.get() }).unwrap(); assert_eq!(handle.join().unwrap(), 300); assert_eq!(LOCAL.get(), 200); } ``` ## v0.1.0版本功能 1. `spawn/spawn_with`: 创建线程 1. `ThrdLocal`: TLSå˜é‡çš„å˜å–. 1. `Mutex`: äº’æ–¥é” 1. `Once/OnceLock/LazyLock`: 类似std库ä¸çš„åŒå类功能. 1. `sched_cpu_count`: 获å–当å‰è¿›ç¨‹å¯ç”¨çš„æ ¸æ•°é‡. 1. `sched_getaffinity/sched_setaffinity`: 设置当å‰è¿›ç¨‹åŒcpuæ ¸çš„äº²å’Œæ€§ 1. `thrd_setaffinity`: 设置当å‰çº¿ç¨‹åŒcpuæ ¸çš„äº²å’Œæ€§. 1. `thrd_setname/thrd_getname`: 设置获å–当å‰çº¿ç¨‹çš„åå—,方便调测.