plkrueger / tsqueue

Thread-safe queue for Common Lisp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tsqueue

tsqueue: A Thread-safe Queue for Common Lisp

Paul Krueger

In this implementation multiple readers and multiple writers can access a FIFO queue simultaneously from any number of threads. Readers never block writers and writers never block readers. For example, in an application where there are multiple writers and one reader, the reader will never block (unless there is nothing in the queue). Timeouts can be set to limit block time. If queue processing is of limited duration, the initiator of the process can wait until processing is complete if well-behaved readers and writers indicate when they are done. An example of this sort of operation is provided in the source code and can be exercised by executing (tsq::test-tsq).

About

Thread-safe queue for Common Lisp

License:MIT License


Languages

Language:Common Lisp 100.0%