Module for distributing jobs to a pool of worker threads.
Performing tasks in many threads made fun!
This module facilitates distributing simple operations into jobs that are sent to worker threads, maintained by a pool object.
It consists of these components:
- Jobs, which are single units of work that need to be performed.
- Workers, who grab jobs from a queue and perform them.
- Worker pool, which keeps track of workers and the job queue.