1º, 2º y 3º plano ¿Cuándo usar cada uno?
Última actualización
Última actualización
Representa la ejecución a través del hilo principal del cliente.
Por defecto, los procesos y funciones se ejecutan en 1º plano. Todos los manejadores de evento siempre se ejecutan en 1º plano.
Debemos intentar en la medida de lo posible que este hilo principal siempre esté libre para atender al usuario. En algunas ocasiones nos puede interesar que el usuario deba esperar a que finalice una tarea, en ese caso basta con que la ejecutemos en 1º plano.
Esta ejecución también se realiza en el cliente. Representa la ejecución a través de un hilo secundario que no interfiere con el principal y que permite que se ejecuten múltiples procesos a la vez en paralelo.
Por defecto todos los procesos que se disparan en 2º plano se ejecutan en paralelo, esto tiene la ventaja de poder realizar múltiples tareas a la vez.
En algún caso puede interesarnos que los procesos en 2º plano se ejecuten en un orden fijo, para conseguirlo podemos usar el objeto "Cola de proceso" que nos permite lanzar los procesos en 2º plano a través de una cola que se encargará de ejecutarlos en el mismo orden en que son añadidos a la cola y mantendrá en espera un proceso hasta que finalice el anterior.
Representa la ejecución a través de un hilo que es lanzado en el servidor. Es el recurso más importante para la optimización de nuestras aplicaciones, sin embargo, no hay que abusar para no perjudicar a otros usuarios.
Cuando lanzamos un proceso en 3º plano desde un 1º ó 2º plano, el hilo principal o secundario del cliente queda a la espera de que finalice la ejecución del proceso en 3º plano.
La gran ventaja de los procesos en 3º plano es que al ejecutarse en el servidor se ahorran la transferencia de datos entre el servidor y cliente.
Debemos tratar siempre de que los procesos en 3º plano sean cortos, si es necesario dividiendo un proceso largo en múltiples procesos más pequeños.
Los procesos en 4º plano se ejecutan en el servidor, pero el proceso llamador no espera retorno. Los procesos entrarán en una cola de 4º plano y serán ejecutados de forma secuencial según el orden de llegada. Cuando paramos el servidor, los procesos que estuviesen en cola pendiente de ser ejecutados son eliminados.
Un ejemplo de uso de estos procesos es ejecutar procesos que serán ejecutados de forma desatendida tipo facturación mensual, etc.