FORBID
In alcune situazioni, è necessario garantire che una sequenza di operazioni venga
eseguita in modo atomico, senza interruzioni. L'istruzione FORBID
svolge un ruolo
cruciale in questo senso, offrendo al programmatore un modo per assumere il pieno
controllo dell'esecuzione del sistema, almeno temporaneamente.
In parole povere, FORBID
blocca qualsiasi tentativo di ugBASIC di passare
l'esecuzione da un task a un altro. Ciò significa che il task che ha chiamato
FORBID
continuerà a eseguire il suo codice senza interruzioni finché non verrà
effettuata una chiamata corrispondente a ALLOW
. FORBID
assicura che
una sequenza di operazioni critiche venga eseguita in modo indivisibile,
senza interferenze da parte di altri task. Ciò fornisce al programmatore
un controllo granulare sull'esecuzione del sistema.
PARALLEL PROCEDURE test FORBID ' busy waiting, multitasking is suspended! FOR i=0 TO 1000: WAIT 1 MS : NEXT i ALLOW END PROC
Fd
Se si riscontra un problema nell'utilizzare questo comando, se si ritiene che vi sia un bug oppure che la spiegazione sia poco chiara, è possibile aprire una segnalazione per questa parola chiave su GitHub. Grazie!