Programación concurrente y tiempo real

Page 118

[104]

CAPÍTULO 4. OTROS MECANISMOS DE SINCRONIZACIÓN

El lanzamiento de tareas es sencillo ya que éstas se activan de manera automática cuando la ejecución llega al procedimiento (procedure) en el que estén declaradas. Así, el procedimiento espera la finalización de dichas tareas. En el siguiente listado de código se muestra un ejemplo. Es importante resaltar que Tarea1 y Tarea2 se ejecutarán concurrentemente después de la sentencia begin (línea 14 ), del mismo modo que ocurre cuando se lanzan diversos procesos haciendo uso de las primitivas que proporciona, por ejemplo, el estándar POSIX. Listado 4.3: Activación de tareas en Ada 95. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

-- Inclusión de paquetes de E/S e -- identificación de tareas. with Ada.Text_IO; use Ada.Text_IO; with Ada.Task_Identification; use Ada.Task_Identification; procedure Prueba_Tareas is -- Inclusión del anterior listado de código... -- Variables de tipo T. Tarea1:T; Tarea2:T; begin -- No se hace nada, pero las tareas se activan. null; end Prueba_Tareas;

La representación y el lanzamiento de tareas se completa con su finalización. Así, en Ada 95, una tarea finalizará si se satisface alguna de las siguientes situaciones [3]: 1. La ejecución de la tarea se completa, ya sea de manera normal o debido a la generación de alguna excepción. 2. La tarea ejecuta una alternativa de finalización mediante una instrucción select, como se discutirá con posterioridad. 3. La tarea es abortada. La sincronización básica entre tareas en Ada 95 se puede realizar mediante la definición de entries (entradas). Este mecanismo de interacción proporcionado por Ada 95 sirve como mecanismo de comunicación y de sincronización entre tareas. Desde un punto de vista conceptual, un entry se puede entender como una llamada a un procedimiento remoto de manera que 1. la tarea que invoca suministra los datos a la tarea receptora, 2. la tarea receptora ejecuta el entry, 3. la tarea que invoca recibe los datos resultantes de la invocación.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.