| Allegro CL version 9.0 Significantly revised from 8.2. 8.2 version |
Arguments: nil
Multiprocessing is not automatically started in the default Allegro CL environment.
This function starts multiprocessing, which is also started automatically the first time a process is started by process-reset, directly or indirectly (as by process-run-function). There is in fact no scheduler process. In a virtual thread Lisp, runnable processes are queued by priority and run (for a quantum of time) according to the queue. In os-thread and SMP Lisps, the OS decides what processes to run. The name start-scheduler dates from earlier releases where there was an actual scheduler process.
Even in an SMP Lisp, it is possible to start Lisp without the multiprocessing module loaded. A call to start-scheduler ensures the mp module is loaded. (Other functionality has the same effect, but calling start-scheduler guarantees things.) Also, if you use immigrant threads in a non-SMP Lisp, you might want to call start-scheduler to be sure the system is initialized properly for the immigrant threads.
See multiprocessing.htm for general information on multiprocessing in Allegro CL.
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page has had significant revisions compared to the 8.2 page.
Created 2019.8.20.
| Allegro CL version 9.0 Significantly revised from 8.2. 8.2 version |