Sie sind auf Seite 1von 9

SINCRONIZACIÓN Y

MULTIHILO
Oscar Javier Arias Perdomo
Angélica María Trujillo Trujillo
Facultad de ingeniería Electrónica
Neiva
2018
MULTIHILO EN LABVIEW
En un lenguaje basado en texto donde las instrucciones se ejecutan
secuencialmente.
En labview 8.20 la casilla Run with multiple threads.
Cuando se carga un VI, LabVIEW pide al sistema operativo que cree los hilos en
los que será ejecutado si no estaban ya creados; mientras no se usan pasan a un
estado dormido pero no se eliminan, permanecen en espera de más código para
ejecutar.
Prioridades
Un hilo se ejecuta hasta que sucede uno de los siguientes eventos:
llega otro hilo con mas prioridad, hasta que termina, hasta que agota su tiempo
de proceso, el propio hilo decide dormirse.
El planificador usa un esquema con 32 niveles de prioridades, tiene una cola de
hilos por cada prioridad.
VI reentrantes
Se da en el caso que se desee hacer llamadas a un mismo VI de forma
simultánea en varios hilos.
VI reentrante que copiará su código y datos en memoria tantas veces como sea
necesario, así cuando se produce una llamada no tendrá que esperar ya que
habrá alguna copia dispuesta para ser ejecutada.
indicar que un VI es reentrante se debe activar la casilla correspondiente en File
>VI Properties >Execution,
paralelismo

La principal ventaja de este método es la sencillez.


Unas de las desventajas consiste en que no se pueden modificar las prioridades
SINCRONIZACIÓN

Los problemas de sincronización aparecen cuando dos o más hilos intentan


compartir algo, ese algo puede ser simplemente información o un recurso (una
variable, un fichero, una impresora...).
Para la sincronización de tareas podemos utilizar diferentes mecanismos, por
ejemplo:
Las occurrences son un mecanismo para que un hilo o un VI pueda indicar a
otro que ha ocurrido cierto suceso o evento. sirven para ejecutar un código
cuando se da cierta condición, hasta que no sea cierta esa condición la tarea que
contiene el código será “congelada”.
PROBLEMAS DE LA PROGRAMACIÓN
MULTIHILO
• aumento de la carga computacional debido a que necesitan una gestión,
aumento del consumo de memoria.
• programación de varias tareas en paralelo requiere que el programador sea
mucho más cuidadoso que en una programación más convencional.
• Pueden presentarse nuevas situaciones que resulten en un comportamiento
imprevisto del sistema

Das könnte Ihnen auch gefallen