Like a smaller, lamer thread pool.
Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.travis.yml
Gemfile
LICENSE
README.md
Rakefile
threadpuddle.gemspec

README.md

ThreadPuddle

Like a smaller, lamer thread pool.


Public Class Methods

ThreadPuddle.new(capacity)

Creates a new ThreadPuddle object, with a fixed capacity.

Public Instance Methods

tp.capacity → int

Retrieves the ThreadPuddle object's capacity.

tp.size → int

Number of threads currently occupying the puddle.

tp.blocktp

Blocks execution of the calling thread until there's a free slot in the puddle.

WARNING: there is no guarantee this will ever return.

tp.spawn(*args) {|*args| ... } → Thread

Spawns a new thread in the puddle.

If the puddle is full, this call blocks.

 @yields *args
 @see ThreadPuddle#block
 @return the new Thread object

tp.jointp

Waits for all threads in the puddle to join.

 @return this ThreadPuddle object

tp.kill → int

Kills all threads in the puddle.

 @return the number of threads killed

Build Status