glsGoroutine 本地存储库

联合创作 · 2023-09-27 03:42

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

使用起来极为简单:

import "github.com/yyzybb537/gls"

// 设置协程局部变量
gls.Set("Value", 1)

// 获取协程局部变量
var i int = gls.Get("Value").(int)

// 协程退出时使用Cleanup清除相关资源
defer Cleanup()
浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报