FORBID
In some situations, it is necessary to ensure that a sequence of operations is executed
atomically, without interruption. The FORBID
instruction plays a crucial role
in this way, offering the programmer a way to take full control of the system's execution,
at least temporarily.
In simple terms, FORBID
blocks any attempt by ugBASIC to pass execution from one task
to another. This means that the task that called FORBID
will continue to execute
its code without interruption until a corresponding call to ALLOW
is made. The FORBID
ensures that a sequence of critical operations is executed indivisibly,
without interference from other tasks. This gives the programmer granular control
over the system's execution.
PARALLEL PROCEDURE test FORBID ' busy waiting, multitasking is suspended! FOR i=0 TO 1000: WAIT 1 MS : NEXT i ALLOW END PROC
Fd
If you have encountered a problem using this command, if you think there is a bug or the explanation is unclear, please open an issue for this keyword on GitHub. Thank you!