Patron is a multi-consumer/multi-producer thread pooling library written in Common Lisp with flexibility and performance in mind. You simply create a `PATRON' with a job queue of fixed size, specify a fixed number of `WORKER' threads and start submitting your `JOB's into the work queue.

While Patron is written in portable Common Lisp in mind, because of some platform specific features (semaphores, missing threading features -- `THREAD-JOIN', `WITHOUT-INTERRUPTS', etc. -- in bordeaux-threads, `WITH-TIMEOUT' macro.) used, it currently works on SBCL and CCL platforms. As a side note, Patron currently depends on bordeaux-threads library for common threading functionalities.

For more information about the project and example code see README file.

ASDF-install package (obsolete) (Tarball comes with the latest .git source tree. Feel free to play with it. You may also prefer visiting Patron on GitHub.)