Next Prev Up Top Contents Index

process-run-function

Function
Summary

Create a new process, passing it a function to run.

Package

mp

Signature

process-run-function name keywords function &rest arguments => process

Arguments

name

A name for the new process.

keywords

Keywords specifying properties of the new process.

function

A function to apply.

arguments

Arguments to pass to function .

Values

process

The newly created process.

Description

This function creates a new Lisp process with name name. Other properties of process may be specified in keyword/value pairs in keywords :

:priority

A fixnum representing the priority for the process. If :priority is not supplied, the process priority becomes the value of the variable *default-process-priority* .

The new process is preset to apply function to arguments and runs in parallel, while process-run-function returns immediately.

Example
CL-USER 253 > (defvar *stream* *standard-output*)
*STREAM*
 
CL-USER 254 > (mp:process-run-function
               "My process"
               '(:priority 42)
               #'(lambda (x)
                   (loop for i below x
                         do (and (print i *stream*)
                                 (sleep 1))
                         finally
                         (print (mp:process-priority
                                 mp:*current-process*)
                                *stream*)))
               3)
#<MP:PROCESS Name "My process" Priority 850000 State "Running">
 
0
1
2
42
CL-USER 255 >
See also

create-simple-process
*default-process-priority*


LispWorks Reference Manual (Windows version) - 14 Dec 2001

Next Prev Up Top Contents Index