All Manuals > LispWorks User Guide and Reference Manual


19 Multiprocessing

LispWorks supports threads for running computations in parallel. The programming environment, for example, makes extensive use of this mechanism to create separate threads for the various tools.

On Microsoft Windows, Mac OS X, Linux, x86/x64 Solaris, FreeBSD and AIX, LispWorks multiprocessing uses native threads and supports Symmetric Multiprocessing (SMP). The implementation is referred to as "SMP LispWorks" where relevant.

On other platforms LispWorks uses a single native thread and implements user level threads. The implementation is referred to as "non-SMP LispWorks" where relevant.

In SMP LispWorks, Lisp processes (as reported by the Lisp function ps) are Operating System threads. These do not necessarily correspond to what system tools show you, for example in Microsoft Windows the Activity monitor shows OS processes, including exactly one for each running LispWorks image.

19.1 Introduction to processes

19.2 Processes basics

19.3 Atomicity and thread-safety of the LispWorks implementation

19.4 Locks

19.5 Modifying a hash table with multiprocessing

19.6 Process Waiting and communication between processes

19.7 Synchronization between threads

19.8 Killing a process, interrupts and blocking interrupts

19.9 Timers

19.10 Process properties

19.11 Other processes functions

19.12 Native threads and foreign code

19.13 Low level operations

LispWorks User Guide and Reference Manual - 20 Sep 2017