sleep

 

 

Overview

The sleep function causes the current context thread to halt processing for the specified number of miliseconds. This allows the thread resources to be freed for use in other threads or other processes.

Usage

The sleep function is used in a multi-tasking environment to temporarily halt the processing of the current context thread. After the specified time, the current context thread resumes execution at the instruction following the sleep function.

For instance, the following code uses the sleep function to wait for the child context to start and to finish. Since the spawned context will execute asynchronously, the current context must first sleep while waiting for the spawned context to become busy. Then the current context must sleep while waiting for the spawned context to complete. In the meantime, the current context queries for progress reports and then for the final result.

(setq context (contextOpen "ArcTwinContext.sl" false))
(contextSubmit context {(setq x 0)(loop for n from 0 until 10000 do (writeln (++ x))) (append "Finished - " x)})
(while (not (contextBusy context)) do (sleep 100.0))(writeln "Process is starting")
(while (contextBusy context) do (writeln "Progress is: " (contextGetDisplay context)) (sleep 100.0))
(writeln "Result is: " (setq result (contextGetResult context)))
(contextClose context)
(if (<> result "10000") then (error "expected 10000 as the result value"))

 

Syntax


Expression:

(sleep number)


Arguments Name Type Description
Argument:number Number Integer The number of miliseconds to halt processing on the current context thread.

Returns:

true



 

Examples

Here are a number of links to Lambda coding examples which contain this instruction in various use cases.

 

Argument Types

Here are the links to the data types of the function arguments.

Number

Here are also a number of links to functions having arguments with any of these data types.

++ += + /=
/ * -- -=
- abs acos add1
addMethod addi argument arithmetic
asin atan avg binaryInsert
boolean character compareEQ compareGE
compareGT compareLE compareLT compareNE
compare cons cos cosh
count date day days360
decode deg display divi
exp expt fact floor
fraction getTickCount hour iadd
icompareEQ icompareGE icompareGT icompareLE
icompareLT icompareNE idiv imod
imul inside integer isAtom
isBitVector isBoolean isByteVector isChar
isCharacter isComplex isDate isDictionary
isDirectory isEqual isError isEven
isExact isFloatVector isIdentical isInexact
isInside isIntegerVector isInteger isLambda
isMatrix isMember isMoney isNegative
isNull isNumberMatrix isNumberVector isNumber
isObjectVector isObject isOdd isPair
isPcodeVector isPositive isString isStructure
isSymbol isText isType isVector
isZero isub julian kurtosis
length list log10 log2
log logbase macroReplace makeQuotedList
max median member min
minute mod modi money
month muli nadd ncompareEQ
ncompareGE ncompareGT ncompareLE ncompareLT
ncompareNE ndiv new nmod
nmul now nsub number
objectToMatrix objectToNumMatrix objectToNumVector pair
parent parse pi product
rad random randomize range
ref remove round saveObject
saveRepository second setCar setCdr
setLastCdr setq sigmoid sign
sin sinh sizeof skew
sleep sqrt srandom stdev
stdevp string sub1 subi
submit sum sumsqr tan
tanh time type uniqueInsert
var varp vectorBinaryInnerProduct vectorBipolarInnerProduct
vectorCosineInnerProduct vectorCubeInnerProduct vectorExpInnerProduct vectorFill
vectorInnerProduct vectorLogInnerProduct vectorQuartInnerProduct vectorQuintInnerProduct
vectorSigmoidInnerProduct vectorSineInnerProduct vectorSquareInnerProduct vectorTanInnerProduct
vectorTanhInnerProduct writelg writeln year

Analytic Information Server (AIS)

AIS Component Systems

  • Smartbase Engine
  • QT C++ Libraries
  • MySQL Relational Database
  • AIS Lisp Libraries
  • Rapid Analytic Demo IDE