当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

Go Commons Pool

授权协议 Apache
开发语言 Google Go
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 国产
投 递 者 壤驷麒
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Go Commons Pool 是用 Go 实现的对象池,直接翻译自 Java 版的 Apache Commons Pool.

示例代码:

//use create func
pool := NewObjectPoolWithDefaultConfig(NewPooledObjectFactorySimple(
        func() (interface{}, error) {
            return &MyPoolObject{}, nil
        }))
obj, _ := pool.BorrowObject()
pool.ReturnObject(obj)

//use custom Object factory

type MyObjectFactory struct {

}

func (this *MyObjectFactory) MakeObject() (*PooledObject, error) {
    return NewPooledObject(&MyPoolObject{}), nil
}

func (this *MyObjectFactory) DestroyObject(object *PooledObject) error {
    //do destroy
    return nil
}

func (this *MyObjectFactory) ValidateObject(object *PooledObject) bool {
    //do validate
    return true
}

func (this *MyObjectFactory) ActivateObject(object *PooledObject) error {
    //do activate
    return nil
}

func (this *MyObjectFactory) PassivateObject(object *PooledObject) error {
    //do passivate
    return nil
}

pool := NewObjectPoolWithDefaultConfig(new(MyObjectFactory))
obj, _ := pool.BorrowObject()
pool.ReturnObject(obj)
  • github.com/jolestar/go-commons-pool   测试代码 package main import ( "github.com/jolestar/go-commons-pool" "fmt" ) type MyPoolObject struct { Name string } type MyObjectFactory struct { }

  • Table of Contents Introduction How to use Additional features Inside the Apache Tomcat Container Standalone JMX Attributes JNDI Factory and Type System Properties Common Attributes Tomcat JDBC Enhance

  •    一、Commons BeanUtilshttp://jakarta.apache.org/commons/beanutils/index.html说明:针对Bean的一个工具集。由于Bean往往是有一堆get和set组成,所以BeanUtils也是在此基础上进行一些包装。使用示例:功能有很多,网站上有详细介绍。一个比较常用的功能是Bean Copy,也就是copy bean的属性。如果做分层

  • 在使用之前我们需要先了解清楚连接池的概念,总结下来连接池主要解决以下几类问题: 减少连接创建时间 不论是与数据库还是Thrift等程序建立连接都是有开销的。如果这类连接是“循环”使用的,使用该方式这些花销都是可以避免的。 简化了编程模式  当使用连接池时,具体的操作都是统一的不用关心初始化等各项关心点。 受控的资源使用  如果用户不使用连接池,而是每当需要时创建一个新的连接,那么用户的应用程序的资

  • the commons project already has more than three dozen components; some have been developed from scratch, and other have been pulled out of bigger projects under jarkata. the components that are part o

  • 一、go协程池(goroutine) 注意: Go语言中的goroutine虽然相对于系统线程来说比较轻量级(初始栈大小仅2KB),但是在高并发量下的goroutine频繁创建和销毁对于性能损耗以及GC来说压力也不小 package main import ( "errors" "fmt" "log" "sync" "sync/atomic" "time" ) var ( //

相关阅读

相关文章

相关问答

相关文档