All Manuals > LispWorks User Guide and Reference Manual > 44 The MP Package

NextPrevUpTopContentsIndex

funcall-async

funcall-async-list

Functions
Summary

Funcall a function asynchronously.

Package

mp

Signature

funcall-async func &rest args

funcall-async-list func-and-args

Arguments

func

A function designator.

args

Arguments.

func-and-args

A cons.

Description

The functions funcall-async and funcall-async-list call the function func with the supplied arguments, that is what cl:funcall would do, but asynchronously.

func-and-args must be a cons of a function designator and a proper list of arguments.

Multiprocessing must have already started.

These functions do not return a useful value.

Notes
  1. These functions are effectively lightweight versions of process-run-function.
  2. On most architectures they are implemented using worker processes, which are named "Background Execute n".
  3. Two Background Execute processes exist by default. This is adequate because it is assumed that you normally use process-run-function. If you use funcall-async and/or funcall-async-list often, you probably need to increase the number of these Background Execute processes. You do that by set-funcall-async-limit.
  4. The dynamic context of the call to func is undefined, and must not be relied upon.
  5. The current process should not be accessed in general, but if you use a wait function and want another process to poke (by process-poke), you can use get-current-process to find the process to poke.
See also

process-run-function
set-funcall-async-limit


LispWorks User Guide and Reference Manual - 13 Feb 2015

NextPrevUpTopContentsIndex