About
Provides an easy way to manage a pool of threads and submit and reap tasks run by those threads.
Generation of random numbers (known count):
import random
from threadpool import ThreadPool
tp = ThreadPool(5)
for i in range(100):
tp.add(i, random.random)
results = [tp.reap() for i in range(100)]
print("\n".join(map(str, results)))
Notes:
Generation of random numbers (unknown count):
import random
from threadpool import ThreadPool
tp = ThreadPool(5)
for i in range(100):
tp.add(i, random.random)
tp.drain()
results = []
while not tp.is_empty():
res = tp.reap()
results.append(res)
print("\n".join(map(str, results)))
Notes:
tp.drain()
may interrupt the processing of tasks so that the number of completed tasks is not knowntp.is_empty()
checks for waiting, running, and done tasks