Golang-PoolGolang 通用连接池库
Golang 实现的连接池
功能:
连接池中连接类型为interface{},使得更加通用
链接的最大空闲时间,超时的链接将关闭丢弃,可避免空闲时链接自动失效问题
使用channel处理池中的链接,高效
基本用法
//factory 创建连接的方法 factory := func() (interface{}, error) { return net.Dial("tcp", "127.0.0.1:4000") } //close 关闭链接的方法 close := func(v interface{}) error { return v.(net.Conn).Close() } //创建一个连接池: 初始化5,最大链接30 poolConfig := &pool.PoolConfig{ InitialCap: 5, MaxCap: 30, Factory: factory, Close: close, //链接最大空闲时间,超过该时间的链接 将会关闭,可避免空闲时链接EOF,自动失效的问题 IdleTimeout: 15 * time.Second, } p, err := pool.NewChannelPool(poolConfig) if err != nil { fmt.Println("err=", err) } //从连接池中取得一个链接 v, err := p.Get() //do something //conn=v.(net.Conn) //将链接放回连接池中 p.Put(v) //释放连接池中的所有链接 p.Release() //查看当前链接中的数量 current := p.Len()
评论
KlibC 通用库
Klib是一个C通用库,是一个轻量级和独立的Glib版本。包括如下常用组件:khash.h:具有开放地址的通用哈希表。kbtree.h:基于B树的通用搜索树。kavl.h:通用侵入式AVL树。ksor
KlibC 通用库
0
GDSL通用数据结构库
GDSL(通用数据结构库)包含一组程序用于操作各种数据结构。这是一个可移植的库,完全由ANSIC编写。为C开发者提供强大的算法和隐藏的数据结构操作方法。目前支持的数据结构包括:lists,queues
GDSL通用数据结构库
0
Common4AndroidAndroid 通用工具库
Common4Android是一个通用Android工具库,包含网络库、线程管理器、常用Util工具
Common4AndroidAndroid 通用工具库
0
Collections-C通用数据结构库
Collections-C是一款通用数据结构库,包括:列表,数组,哈希表,双堆队列等。安装安装条件gccautoconfautomakelibtoolm4新建项目在项目目录,运行以下命令:./auto
Collections-C通用数据结构库
0