golang 语言目前唯一的高性能 goroutine local storage 实现,每秒可以完成数百万次Get/Set。
Operate Performance
Benchmark_Goid 5.30 ns/op
Benchmark_Set 271 ns/op
Benchmark_Get 155 ns/op
Benchmark_Set_4Threads 129 ns/op
Benchmark_Get_4Threads 58.6 ns/op
使用起来极为简单:
// 设置协程局部变量
gls.Set("Value", 1)
// 获取协程局部变量
var i int = gls.Get("Value").(int)
// 协程退出时使用Cleanup清除相关资源
defer Cleanup()
有疑问加站长微信联系(非本文作者)