ThreadlySwift类型安全的线程本地存储

Swift 的类型安全线程本地存储用起来还挺顺手的。ThreadlySwift这个库专门线程局部变量这块,代码简洁,逻辑清晰,蛮适合多线程场景。你可以把值绑定到当前线程上,其他线程完全看不到,数据隔离做得挺到位的。

类型安全的设计比较贴合 Swift 的语言特性,不用担心类型乱飞出 Bug。比如你想在线程里保存个String值,它就会强制保证只有String类型能进来,读的时候也不用做额外的转换,省心。

API 也比较直观,没有太多花活。你只需要用ThreadLocal来定义一个变量,写、读都顺,生命周期也自动跟线程走,线程一结束,存的东西也清干净,避免内存泄漏那种麻烦事。

比如下面这段:

ThreadLocal.init { return "Default Value" }
ThreadLocal.current = "Thread Specific Value"
let currentValue = ThreadLocal.current

是不是蛮清爽?你也可以用它在DispatchQueue里存东西,做异步任务的上下文传递,还挺好用的。适合那种你不想用global变量又需要跨函数共享状态的场景。

如果你平时要跟线程、并发打交道,ThreadlySwift 确实是个值得收进工具箱的好物。

zip 文件大小:25.2KB