versión 11 (Modificado)
Multitarea en 4D es la posibilidad de ejecutar simultáneamente varias operaciones de bases de datos distintas. Estas operaciones son llamadas procesos.
Múltiples procesos equivalen a tener múltiples usuarios trabajando en el mismo ordenador, cada uno trabajando en su propia tarea. Esto significa principalmente que un método puede ser ejecutado como una tarea distinta de base de datos.
Esta sección trata los siguientes temas:
Crear y borrar procesos
Elementos de un proceso
Procesos creados por 4D
Procesos locales y globales
Bloqueo de registros entre procesos
Nota: esta sección no cubre procesos almacenados. Ver la sección Procesos almacenados en el Manual de 4D Server.
Crear y borrar procesos
Hay varias formas de crear un nuevo proceso:
Ejecute un método en el entorno Diseño después de seleccionar la casilla Ejecutar en un proceso nuevo en la caja de diálogo Ejecutar Método. El método elegido en la caja de diálogo Ejecutar método es el método proceso.
Los procesos pueden ejecutarse seleccionando los comandos de menú. En el editor de menús, marque la casilla Iniciar un nuevo proceso. El método asociado al comando de menú es el método proceso.
Utilice la función New process. El método pasado como parámetro a la función New process es el método proceso.
Utilice la función Execute on server para crear un procedimiento almacenado en el servidor. El método pasado como parámetro de la función es el método proceso.
Se puede borrar un proceso bajo las siguientes condiciones. Las primeras dos condiciones son automáticas:
Cuando el método proceso termina su ejecución
Cuando el usuario sale de la base
Si detiene el proceso con el lenguaje o utilizando el botón Abortar en el Depurador
Si selecciona Abortar en el Explorador de ejecución
Un proceso puede crear otro proceso. Los procesos no están organizados jerárquicamentetodos los procesos son iguales, y esto es independientemente del proceso a partir del cual ellos han sido creados. Una vez el proceso "padre" crea un proceso "hijo", el proceso hijo continua sin importar si el proceso padre se está ejecutando o no.
Elementos de un proceso
Cada proceso contiene elementos específicos. Hay tres tipos de elementos diferentes en un proceso:
Elementos de interfaz: Los elementos necesarios para mostrar un proceso.
Elementos de datos: Información relacionada con los datos de la base.
Elementos de lenguaje: Elemento utilizados por el lenguaje o importantes para el desarrollo de su aplicación.
Elementos de interfaz
Los elementos de interfaz son los siguientes:
Barra de menús: Cada proceso puede tener su propia barra de menús actual. La barra de menús del proceso del primer plano es la barra de menús actual de la base.
Una o más ventanas: Cada proceso puede tener varias ventanas abiertas simultáneamente. Por el contrario, algunos procesos no tienen ventanas.
Una ventana activa (primer plano): Aunque un proceso puede tener varias ventanas abiertas simultáneamente, cada proceso tiene sólo una ventana activa. Para tener más de una ventana activa, debe iniciar más de un proceso.
Nota: los procesos que se ejecutan en el servidor (procedimientos almacenados) no deben contener elementos de interfaz.
Elementos de datos
Los elementos de datos se refieren a los datos de la base. Estos son los siguientes:
Selección actual por tabla: Cada proceso tiene su propia selección actual. La misma tabla puede tener diferentes selecciones actuales en diferentes procesos.
Registro actual por tabla: Cada tabla puede tener un registro actual diferente en cada proceso.
Nota: esta descripción de elementos de datos es válida si los procesos son procesos globales. Por defecto, todos los procesos son globales. Consulte más adelante el párrafo que trata este tema.
Elementos del lenguaje
Los elementos del lenguaje de un proceso son los elementos relacionados con la programación en 4D.
Variables: cada proceso tiene sus propias variables de proceso. Para mayor información ver Variables. Las variables proceso sólo se reconocen en el marco de su proceso nativo.
Tabla por defecto: cada proceso tiene su propia tabla por defecto. Sin embargo, note que el comando DEFAULT TABLE sólo es una convención para programación.
Formularios de entrada y salida: los formularios de entrada y salida por defecto pueden ser elegidos por programación para cada tabla en cada proceso.
Conjuntos de proceso: cada proceso tiene sus propios conjuntos de proceso. UserSet y LockedSet son conjuntos de proceso. Los conjuntos proceso se borran tan pronto como el método de proceso termina.
On Error Call por proceso: cada proceso tiene su propio método de gestión de errores.
Ventana del depurador: cada proceso puede tener su propia ventana del Depurador.
Procesos usuario
Los procesos usuario son procesos que usted crea para efectuar ciertas tareas. Ellos comparten los tiempos de equipo con los procesos principales. Los procesos de conexión Web son los procesos usuario.
La aplicación 4D crea igualmente los procesos para sus propias necesidades. Estos son los principales procesos creados y administrados por 4D:
Proceso principal: el proceso principal administra las ventanas de visualización de la interfaz de usuario.
Proceso diseño: el proceso desarrollo administra las ventanas y editores del entorno de Desarrollo. No hay proceso desarrollo en una base compilada que no contenga el código interpretado.
Proceso Servidor Web: el proceso Servidor Web corre cuando la base se publica en la Web. Para mayor información ver la sección Configuración del servidor Web y gestión de las conexiones.
Proceso de gestión de la cache: el proceso de gestión de cache administra las entradas/salidas disco de la base. Este proceso se crea tan pronto como 4D o 4D Server se ejecutan.
Proceso de indexación: el proceso de indexación administra los índices de los campos en una base como procesos por separado. Este proceso se crea cuando un índice es creado o borrado por un campo.
Proceso de gestión de eventos: este proceso se crea cuando un método de gestión de eventos es instalado por el comando ON EVENT CALL. Este proceso ejecuta el método de evento instalado por ON EVENT CALL cuando hay un evento. El método de evento es el método de proceso de este proceso. Este proceso se ejecuta continuamente, incluso si ningún método está en ejecución. La gestión de eventos funciona también en el entorno Diseño.
Procesos globales y locales
El alcance de los procesos puede ser local o global. Por defecto, todos los procesos son globales.
En la mayoría de los casos, usted utilizará procesos globales. Los procesos globales pueden efectuar toda operación, incluyendo acceso y manipulación de los datos.
Los procesos locales deben ser utilizados únicamente para operaciones que no acceden a los datos. Por ejemplo, puede utilizar un proceso local para controlar los elementos de interfaz como las paletas flotantes o ejecutar un método de gestión de eventos.
Atención: si intenta acceder a los datos desde un proceso local, accede a los datos por medio del proceso principal, y toma el riesgo de entrar en conflicto con las operaciones efectuadas en ese proceso.
Se especifica que un proceso es local por medio de su nombre. El nombre de un proceso local debe comenzar por el símbolo dólar.
4D Server: con 4D Server, el uso de procesos locales por parte del cliente para operaciones que no requieren accesos a los datos permite asignar aún más tiempo de procesamiento a tareas que requieren el servidor intensivamente.
Bloqueo de registros entre procesos
Un registro está bloqueado cuando otro proceso ha cargado el registro para modificarlo. Un registro bloqueado puede ser cargado por otro proceso, pero no puede ser modificado. El registro está bloqueado solamente en el proceso en el cual el registro está siendo modificado. Una tabla debe estar en modo lectura/escritura para que un registro se cargue desbloqueado. Para mayor información consulte la sección Bloqueo de registros.
Ver también
Métodos, Métodos de proyecto, Variables.