4D v16.3Procesos |
||
|
4D v16.3
Procesos
Procesos
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.
Nota: esta sección no cubre procesos almacenados. Ver la sección Procedimientos almacenados en el Manual de 4D Server. Hay varias formas de crear un nuevo proceso:
Se puede borrar un proceso bajo las siguientes condiciones. Las primeras dos condiciones son automáticas:
Un proceso puede crear otro proceso. Los procesos no están organizados jerárquicamente, todos 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. Cada proceso contiene elementos específicos. Hay tres tipos de elementos diferentes en un proceso: Los elementos de interfaz son los siguientes: Notas:
Los elementos de datos se refieren a los datos de la base. Estos son los siguientes: 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. Los elementos del lenguaje de un proceso son los elementos relacionados con la programación en 4D.
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:
A partir de 4D v15 R5 64 bits, 4D le permite crear procesos usuario apropiativos en modo compilado. En versiones anteriores, sólo los procesos usuario cooperativos estaban disponibles. Cuando se ejecuta en modo apropiativo, un proceso está dedicado a un CPU. La gestión de procesos a continuación, se delega al sistema, que puede asignar a cada CPU por separado en una máquina multi-núcleo. Cuando se ejecuta en modo cooperativo, todos los procesos son gestionados por el hilo de la aplicación padre y comparten la misma CPU, incluso en una máquina multi-núcleo. Como resultado, en el modo apropiativo, el rendimiento general de la aplicación mejora, sobre todo en máquinas multi-núcleo, ya que múltiples procesos (hilos) pueden funcionar simultáneamente. Sin embargo, las ganancias reales dependen de las operaciones que se ejecuten. En contraparte, ya que cada hilo es independiente de los otros en el modo apropiativo, y no gestionado directamente por la aplicación, existen limitaciones específicas aplicadas a los métodos que se desea para ser compatibles con el uso apropiativo. Además, la ejecución preferente sólo está disponible en ciertos contextos específicos. La gestión de los procesos apropiativos se detalla en la sección Procesos 4D apropiativos. 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. 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 .
Ver también
|
PROPIEDADES
Producto: 4D
HISTORIA
ARTICLE USAGE
Manual de lenguaje 4D ( 4D v16) |