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.
FORBID
PARALLEL PROCEDURE test FORBID ' busy waiting, multitasking is suspended! FOR i=0 TO 1000: WAIT 1 MS : NEXT i ALLOW END PROC
Join BASIC 10Liner Contest with ugBASIC!
An interesting competition is held at the beginning of each year: the
BASIC 10Liner Contest.
It is possible to use ugBASIC to participate in the next
"BASIC10Liner" competition, in the following categories:
FORBID ↔ Fd
If you have found a problem with this keyword, if you think there is a bug or, more
simply, you would like it to be improved, open an issue for this example on GitHub.
Thank you!
open an issue
BACK TO KEYWORDS