Skip to content

mikelevins/apis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

230 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

net.bardcode.apis

A worker bee for application hives

Apis is a Common Lisp library that supports shared-nothing concurrency and distributed processing.

Its current version supports local message passing. Past versions, which are still accessible in the git history, supported distributed processing with message delivery to remote processes and hosts. Apis is in active development and I expect to restore those features in due course.

Runtimes

This version implements a concurrency runtime that separates the concurrent threading model from the actors to give a model that is simpler than the original model, and that can accommodate higher levels of concurrency than one thread per actor.

In this model, loading Apis creates a runtime instance bound to apis:*default-runtime* that by default uses 4 threads to execute worker messages. Each worker has a queue of pending messages that are executed by the runtime's threads in next-available order. You can adjust the number of threads used by the runtime by calling (setf (runtime-thread-count *default-runtime*)) when the runtime is stopped..

About

a worker bee for application hives

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors