Go Commons Pool Go Commons Pool

polaris • 2217 次点击    
这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
Go Commons Pool 是用 Go 实现的对象池,直接翻译自 Java 版的 [Apache Commons Pool](http://www.oschina.net/p/commons-pool). 示例代码: <pre class="brush:cpp ;toolbar: true; auto-links: false;">//use create func pool := NewObjectPoolWithDefaultConfig(NewPooledObjectFactorySimple(         func() (interface{}, error) {             return &amp;MyPoolObject{}, nil         })) obj, _ := pool.BorrowObject() pool.ReturnObject(obj) //use custom Object factory type MyObjectFactory struct { } func (this *MyObjectFactory) MakeObject() (*PooledObject, error) {     return NewPooledObject(&amp;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)</pre>
授权协议:
Apache
开发语言:
Google Go 查看源码»
操作系统:
跨平台
2217 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传