the underlying Pool
the number of threads.
Add x to the underlying pool.
Add x to the underlying pool.
the identitiy of the thread doing the put.
Add x to the underlying pool.
Add x to the underlying pool.
Try to get from the pool, spinning until either a value is available, or termination is possible.
Try to get from the pool, spinning until either a value is available, or termination is possible.
the thread doing the get.
Some(x) where x is the value obtained, or None to indicate no value is available.
Try to get from the pool, trying repeatedly until either a value is available, or because termination is possible.
Try to get from the pool, trying repeatedly until either a value is available, or because termination is possible.
Some(x) where x is the value obtained, or None to indicate no value is available.
Reset the termination object.
Force all threads to terminate.
A wrapper around a partial Pool to give a total Pool.
A call to get will block until either: (1) A value can be returned; (2) All treads are calling get, at which point all return None; or (3) A thread calls signalDone, at which point each call to get returns None.