Problemas de rutina: despachadores |  Blog |  bol.com

Problemas de rutina: despachadores | Blog | bol.com

Esto tarda aproximadamente 2,7 segundos en finalizar, una gran latencia para recopilar algunos datos. En este ejemplo, cada llamada a RestTemplate bloquea el subproceso en el que se está ejecutando hasta que la llamada devuelve algunos datos y luego entrega el subproceso a la siguiente llamada a RestTemplate. Funciona así porque RestTemplate, por naturaleza, es una operación de bloqueo sincrónica. Si desea saber cómo funcionan las operaciones de bloqueo y no bloqueo, aquí encontrará una explicación detallada.

Después de enterarse de esto, Tracey decide que puede utilizar algunos de los subprocesos inactivos de su sistema para realizar múltiples llamadas de bloqueo al mismo tiempo. Es bueno aclarar aquí un malentendido: esto se llama paralelismo, no concurrencia.

GOTCHA: Paralelismo y concurrencia no son lo mismo

Incluso si este no es un tema específico de rutina, existe una idea errónea común sobre el paralelismo y la concurrencia. Estos términos suelen usarse indistintamente, pero representan conceptos distintos.

Hagamos un breve viaje a los ámbitos del bloqueo secuencial, la concurrencia y el paralelismo imaginando un escenario de oficina bullicioso, donde un empleado diligente ayuda activamente a los clientes.

Secuencial/Bloqueo (sin concurrencia ni paralelismo):

En nuestra oficina imaginaria, este comportamiento se vería como si el empleado ayudara a un cliente a la vez. Mientras el primer cliente completa el formulario, el empleado espera y no atiende a ningún otro cliente.

Un programa de un solo subproceso funciona de manera secuencial/bloqueante, donde las tareas se ejecutan una tras otra sin ninguna ejecución simultánea o paralela.

Paralelismo:

Esto implica que el empleado llame a un colega para que lo ayude. Ahora, ambos clientes son atendidos simultáneamente por diferentes empleados. Cada empleado trabaja de forma independiente en la tarea asignada, lo que lleva a una verdadera ejecución paralela.

En un programa multiproceso o multiproceso, las tareas realmente se ejecutan simultáneamente en múltiples procesadores o núcleos. Por ejemplo, se pueden realizar dos llamadas a RestTemplate al mismo tiempo, pero usarán y bloquearán subprocesos diferentes, sin compartir sus recursos.


Source link

About David Lopez

Check Also

Integración de inteligencia artificial y aprendizaje automático con WordPress

Integración de inteligencia artificial y aprendizaje automático con WordPress

Inteligencia artificialAprendizaje automáticoDesarrollo webWordpress A medida que avanza la tecnología, la integración de la inteligencia …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *