Multi-Threading Language Elements
The following language elements are provided to support threads.
- Primitive operator, spawn:
&. - System functions:
⎕TID,⎕TCNUMS,⎕TNUMS,⎕TKILL,⎕TSYNC. - An extension to the GUI Event syntax to allow asynchronous callbacks.
- A control structure:
:Hold. - System commands:
)HOLDS,)TID. - Extended
)SIand)SINLdisplay.
Running Callback Functions as Threads
A callback function is associated with a particular event via the Event property of the object concerned. A callback function is executed by ⎕DQ when the event occurs, or by ⎕NQ.
If you append the character & to the name of the callback function in the Event specification, the callback function will be executed asynchronously as a thread when the event occurs. If not, it is executed synchronously as before.
For example, the event specification:
⎕WS'Event' 'Select' 'DoIt&'
tells ⎕DQ to execute the callback function DoIt asynchronously as a thread when a Select event occurs on the object.