The function
initialize-multiprocessing
initializes multiprocessing, and it does not return until multiprocessing is finished.
initialize-multiprocessing
applies the function process-run-function to each of the entries in *initial-processes* to create the initial processes.
When called with
main-process-args
, it creates an
mp:process
object for the initial thread using the arguments in that list as if in the call
(apply 'mp:process-run-function
main-process-args
)
Supplying main-process-args is useful on Mac OS X if you want to run a pure Cocoa application, since the main thread needs to run the Cocoa event loop.
It is not necessary to call
initialize-multiprocessing
when the Common LispWorks GUI is running (that is, after
env:start-environment
has been called), as this automatically starts up multiprocessing.
Note: On Microsoft Windows, Linux, FreeBSD and Mac OS X (using the Cocoa image), the Common LispWorks GUI starts up by default.