gf框架之gmlock - 内存锁模块

2018-10-18
阅读 5 分钟
1.9k
文章来源:[链接] 内存锁。该模块包含两个对象特性: Locker 内存锁,支持按照给定键名生成内存锁,并支持Try*Lock及锁过期特性; Mutex 对标准库底层sync.Mutex的封装,增加了Try*Lock特性; 使用方式: {代码...} 使用场景: 任何需要并发安全的场景,可以替代sync.Mutex; 需要使用Try*Lock的场景(不需要阻塞等待锁释...

gf框架之grpool – 高性能的goroutine池

2018-03-01
阅读 3 分钟
5.3k
Go语言中的goroutine虽然相对于系统线程来说比较轻量级,但是在高并发量下的goroutine频繁创建和销毁对于性能损耗以及GC来说压力也不小。充分将goroutine复用,减少goroutine的创建/销毁的性能损耗,这便是grpool对goroutine进行池化封装的目的。例如,针对于100W个执行任务,使用goroutine的话需要不停创建并销毁100W个...