SimpleObjectPool
Simple implementation of a thread-safe object pool.
Usage
When the pool is empty, it naively creates another object using the 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];
Installation
Install via CocoaPods.
Contribute
- Issue Tracker: https://github.com/paulmelnikow/SimpleObjectPool/issues
- Source Code: https://github.com/paulmelnikow/SimpleObjectPool
Pull requests welcome!
Support
If you are having issues, please let me know.
Development
This project includes unit tests. To run them, run pod install
inside the
TestProject
folder, then load the workspace and execute the test action.
License
This project is licensed under the Apache license.