- A synchronous evaluation is generally triggered by controls in the front end. Controls that may generate synchronous evaluations include Button, EventHandler, and any control that takes a Dynamic value.
- Manipulate may trigger synchronous evaluations, depending upon the value of the SynchronousUpdating and SynchronousInitialization options.
- A synchronous evaluation is the same as a preemptive evaluation. Some controls, such as Button and EventHandler, support an option setting of Method->"Preemptive", which causes the control's evaluations to be synchronous.
- Synchronous evaluations halt the system while being evaluated. A typical use of $SynchronousEvaluation is to write code that should behave differently to prevent halting the system excessively.
Examplesopen allclose all
Basic Examples (2)
Evaluations within Dynamic are synchronous by default:
Properties & Relations (3)
By default, Button and similar constructs do synchronous evaluation:
With the option Method->"Queued", the evaluation is done asynchronously:
Introduced in 2015