EXCLUSIVO NOYIELD
Le dice a FMSLogo que no es permisible interrumpir la ejecución de código Logo para procesar los mensajes de ventanas, tal como las pulsaciones de tecla, clics del ratón y notificaciones para actualizar la pantalla. Cuando FMSLogo está en modo EXCLUSIVO, no te responde cuando ejecuta instrucciones de Logo y desoye interacciones de usuario importantes como cuando presiones al Botón Alto. FMSLogo pueda aparecer congelado hasta que el código Logo termina o ejecuta NOEXCLUSIVO.
El modo por defecto es NOEXCLUSIVO, pero se ejecutan las listas de instrucciones provistas a HABILITATECLADO, HABILITARATON y algunas de las provistas a PONTEMPORIZADOR en modo EXCLUSIVO.
El concepto del modo EXCLUSIVO tenía más sentido históricamente cuando Microsoft Windows fue un sistema operativo multitarea cooperativa y las aplicaciones tenían control completo de la CPU hasta que decidían cederseles a otras aplicaciones. Una vez que una aplicación había cedido control de la CPU a otra, tenía que esperar hasta que todas las otras aplicaciones ha cedido la CPU antes de que se pudiera ejecutar de nuevo, sin saber cuanto tiempo había que esperar. Por eso, para garantizar un buen desempeño, las aplicaciones no cedían la CPU hasta que no tuviesen nada que hacer. Hoy por hoy, Microsoft Windows les da a todas las aplicaciones un porción de tiempo justo a la CPU, así que EXCLUSIVO solo impide que FMSLogo se interrumpe a si mismo. En general, estas interrupciones son deseables, lo que hace difícil usar bien EXCLUSIVO. No obstante, se proporcione EXCLUSIVO porque en algunos casos FMSLogo funciona mejor si no se interrumpa.
Puedes conseguir el balance correcto entre rendimiento y capacidad de respuesta para tus programas si tengas en cuento los siguientes ejemplos. Digamos que tu programa tenga dos bucles anidados y que la mayoría del trabajo se hace en el bucle interior.
Caso 1: El usuario tiene el control por 10,000 operaciones (menor rendimiento):
NOEXCLUSIVO
REPITE 100 [
REPITE 100 [
; (trabajo a hacer)
]
]
Caso 2: El usuario pierde el control por 10,000 operaciones (mejor rendimiento):
EXCLUSIVO
REPITE 100 [
REPITE 100 [
; (trabajo a hacer)
]
]
Caso 3: El usuario pierde el control por 100 operaciones (rendimiento mediano):
REPITE 100 [
EXCLUSIVO
REPITE 100 [
; (trabajo a hacer)
]
NOEXCLUSIVO
]
SIEVENTO |