glt 全名 go-leo-tech, 从工作中汇总出高效的工具集合
-
SafeMemoryCache:基于内存的安全高效缓存。
-
Worker:高效的任务队列,通过chan解耦,生产者-消费者模型,对外开放等待完成接口。 -
Worker Group:基于Worker扩展出高效的Worker Group,对外开放hash分类和等待接口。 -
Delay: 添加延迟任务,在当前版本中添加太多延迟任务可能会导致内存溢出错误,这与添加数量有关。这是因为当协程太多时,每个协程都会创建一个计时器,这会消耗大量的内存资源。
-
String:转换字符串。 -
IsImplements:使用反射确定接口类型。
尝试解决go get 模块找不到的问题。
-
PriorityQueue:优先级队列,大根堆与小根堆根据compare决定,支持泛型。
-
Set:借用map数据结构封装的api,支持泛型。
-
DelayPool:使用PriorityQueue数据结构和Worker实现延时任务池,避免tiem.After同时创建过多chan
-
SafeMemoryCache:支持泛型。
-
Delay:当添加过多延迟任务时,time.After可能会导致内存溢出的问题。[在v0.1.2中DelayPool进行了优化] -
Set:不支持并发操作。