Skip to content

paulmelnikow/SimpleObjectPool

Repository files navigation

SimpleObjectPool

Simple implementation of a thread-safe object pool.

Version License Platform Build

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

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.

About

Simple thread-safe object pool in Objective-C

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published