lmj / lparallel

Parallelism for Common Lisp
http://lparallel.org
BSD 3-Clause "New" or "Revised" License
244 stars 29 forks source link

Are you interested in adding a mailbox object #29

Open ailisp opened 7 years ago

ailisp commented 7 years ago

There are some useful concurrency object in sb-concurrency, but because of it's not portable, they are not widely used. Are you interested in adding the rewrite portable object like mailbox, gate into lparallel (replace sbcl's thread with bordeaux-threads)? If so, I'd like to send you a pull request.

lmj commented 7 years ago

lparalel.queue is largely similar to sb-concurrency's mailbox while remaining portable, as it rests upon the functionality of bordeaux-threads. For gates, I would avoid adding it to lparallel directly. Since it is lower-level, it should be part of bordeaux-threads or a bordeaux-threads replacement. With an improved bordeaux-threads, a better lparallel.queue could be written as well. I've been contemplating replacing bordeaux-threads for other reasons as well.