concurrency
Doing more than one thing at a time.

  • Bordeaux-Threads - Bordeaux-Threads lets you write multi-threaded applications in a portable way
  • bt-semaphore - simple semaphores for bordeaux-threads
  • Calispel - Calispel is a concurrency library for thread-safe message-passing channels, in the style of the occam programming language
  • chanl - ChanL is a concurrency library built on top of bordeaux-threads that provides channels as thread-synchronisation primitives
  • cl-actors - A simple Common Lisp implementation of the actor model of concurrency
  • cl-async - cl-async implements a higher-level interface for non-blocking, asynchronous programming in Common Lisp
  • cl-async-future - cl-async-future is a future (or "promise") implementation that allows a simple abstraction for values that may or may not be available yet
  • cl-cuda - Cl-cuda is a library to use Nvidia CUDA in Common Lisp programs
  • cl-future - Cl-future is a simple way to achieve parallelism for common lisp on multiprocessor shared memory Unix machines
  • cl-gpu - cl-gpu is a translator from a subset of Common Lisp to CUDA for writing GPU kernels
  • CL-IPC - CL-IPC is an UFFI wrapper to do Unix IPC
  • cl-muproc - CL-MUPROC is an Erlang-inspired concurrency library available under the BSD license for Lispworks, OpenMCL, SBCL, CMUCL, and ACL
  • cl-stm - CL-STM is a concurrency library providing Software Transactional Memory
  • csp - CSP (``communicating sequential processes'') support for Lisp
  • Eager Future2 - Eager Future2 provides composable concurrency primitives that unify parallel and lazy evaluation, are integrated with CL's condition system, and have automatic resource management
  • green-threads - GREEN-THREADS is a portable library implementing green threads (lightweight, cooperatively multitasked, user threads) in Common Lisp
  • lparallel - lparallel is a new concurrency library
  • patron - Patron is a multi-consumer/multi-producer thread pooling library written in Common Lisp with flexibility and performance in mind
  • pcall - PCall is a concurrency library that implements simple 'result-oriented' parallelism on top of Bordeaux-Threads
  • Q-THREAD-POOL - Q-THREAD-POOL is a very simple thread pool implementation based on JPL-QUEUES
  • stmx - STMX is an actively maintained, high-performance concurrency library providing Transactional Memory for Common Lisp
  • thread - Threads are a kind of concurrency
  • thread-pool - thread-pool is library that allows asynchronous function execution from a static thread pool
  • threading-queue - threading-queue is a CL macro to distribute work on several threads, feeding the data via thread-safe-queues over several steps
  • TIMER - An event scheduling library for SBCL by Zach Beane
  • trivial-timers - Trivial-timers is a minimally portable implementation of the SBCL timer extension using Bordeaux-Threads
Threads are a popular technique for concurrent programming:
  • Bordeaux-Threads - Bordeaux-Threads lets you write multi-threaded applications in a portable way
  • bt-semaphore - simple semaphores for bordeaux-threads
  • chanl - ChanL is a concurrency library built on top of bordeaux-threads that provides channels as thread-synchronisation primitives
  • cl-actors - A simple Common Lisp implementation of the actor model of concurrency
  • green-threads - GREEN-THREADS is a portable library implementing green threads (lightweight, cooperatively multitasked, user threads) in Common Lisp
  • patron - Patron is a multi-consumer/multi-producer thread pooling library written in Common Lisp with flexibility and performance in mind
  • Portable-Threads - Portable-threads is the GBBopen project's portable-thread code all packaged up for ASDF-Install
  • Q-THREAD-POOL - Q-THREAD-POOL is a very simple thread pool implementation based on JPL-QUEUES
  • sb-cpu-affinity - sb-cpu-affinity lets you set Linux scheduler CPU affinity masks from SBCL
  • thread-pool - thread-pool is library that allows asynchronous function execution from a static thread pool
  • threading-queue - threading-queue is a CL macro to distribute work on several threads, feeding the data via thread-safe-queues over several steps