5 The Multitasking Facility

5.2 Issues in multitasking

Processes that are available in the Multitasking Facility are different from processes that are provided by the operating system that runs Lisp. For example, most operating system processes are protected from other operating system processes; that is, one operating system process cannot modify the data in another process or interrupt another process except under carefully specified situations.

However, multiple processes inside Lisp work in cooperation and without protection. Since all processes run in the same Lisp image, the Multitasking Facility does not require any explicit interprocess communication mechanism; processes can communicate by using any global data structure. Any process can modify the global value of a special variable. Any process is free to modify another's data, to create new processes, to kill a process, or to prevent other processes from running. Using multiple processes even requires special considerations when you exit Lisp.

The following sections discuss these issues and others.

5.2.1 - Special variables
5.2.2 - Lexical variables
5.2.3 - Nonlocal control transfers
5.2.4 - Keyboard interrupts
5.2.5 - Locks
5.2.6 - Quitting Lisp
5.2.7 - Dynamic stack list allocation

The Advanced User's Guide - 9 SEP 1996

Generated with Harlequin WebMaker