19 lines
1.1 KiB
Plaintext
19 lines
1.1 KiB
Plaintext
BORDEAUX-THREADS is a proposed standard for a minimal MP/Threading interface.
|
|
It is similar to the CLIM-SYS threading and lock support, but for the following
|
|
broad differences:
|
|
|
|
- Some behaviours are defined in additional detail: attention has been given to
|
|
special variable interaction, whether and when cleanup forms are run. Some
|
|
behaviours are defined in less detail: an implementation that does not
|
|
support multiple threads is not required to use a new list (nil) for a lock,
|
|
for example.
|
|
- Many functions which would be difficult, dangerous or inefficient to provide
|
|
on some implementations have been removed. Chiefly these are functions such
|
|
as thread-wait which expect for efficiency that the thread scheduler is
|
|
written in Lisp and 'hookable', which can't sensibly be done if the scheduler
|
|
is external to the Lisp image, or the system has more than one CPU.
|
|
- Unbalanced ACQUIRE-LOCK and RELEASE-LOCK functions have been added.
|
|
- Posix-style condition variables have been added, as it's not otherwise
|
|
possible to implement them correctly using the other operations that are
|
|
specified.
|