Los servicios web preventivos permiten que sus aplicaciones aprovechen al máximo los ordenadores multinúcleo, lo que se traduce en respuestas más rápidas para las solicitudes simultáneas. No sólo es potente, también es fácil: desde las Propiedades del Método de cualquier método, sólo tiene que seleccionar la opción «Puede ejecutarse en procesos preventivos» y ya está funcionando.
Un método 4D puede ser preemptivo o no según las opciones de compilación y el uso del lenguaje, como se explica en este post.
Por defecto, cuando el Servidor de Servicios Web recibe varias peticiones, utiliza hilos cooperativos para procesarlas, es decir, todos los procesos se ejecutan en un solo núcleo. Ahora bien, si permite que sus métodos sean utilizados en hilos preventivos, 4D utiliza todos los núcleos disponibles para ejecutar varios trabajos en paralelo.
Por ejemplo, el vídeo de abajo demuestra una reducción del tiempo de respuesta dividido por 3:
Como puede ver, el modo preventivo aumenta la velocidad de sus peticiones porque la potencia de todos los procesadores está comprometida.
Nuevos comandos Thread safe
Todos los comandos del Servicio Web son ahora seguros para los hilos.
Comandos del servidor:
Comandos del cliente: