0.0
No commit activity in last 3 years
No release in over 3 years
Create threads, with an upper bound on how many can exist at the same time.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies
 Project Readme

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