线程安全对象池的简单实现。
当池为空时,它会使用createBlock创建另一个对象。
ObjectPool *pool = [ObjectPool poolWithCreateBlock:^id(NSError **outError) {
NSLog(@"Opening database connection");
MyDBConnection *connection = [MyDBConnection connection]
if (![connection openWithError:outError])
return nil;
else
return connection;
}];
MyDBConnection *connection = [pool objectFromPoolWithError:nil];
// do stuff with connection
[pool returnObjectToPool:connection];
通过CocoaPods安装。
欢迎pull requests!
如果您遇到问题,请告诉我。
该项目包含单元测试。要运行它们,请在TestProject
文件夹内运行pod install
,然后加载工作区并执行测试操作。
该项目受Apache许可证的许可。