Skip to content

Diferencias entre Actor Model y Threads

Lady Puchaicela edited this page May 28, 2022 · 3 revisions
Diferencias entre Threads
Thread ➡️ Es un hilo de proces ligero similar a un proceso donde puede tener uno o mas hilos y cada hilo contiene una pila y un bloque de control del hilo.
✔️Modelo de hilo Único a nivel de usuario:
➡️ donde cada proceso contiene un solo hilo.
✔️Modelo de subprocesos múltiples a nivel de usuario: :arrow_down:
➡️ Cada proceso contiene varios subprocesos.
➡️ Todos los subprocesos del proceso son programados por una biblioteca de subprocesos a nivel de usuario.
➡️ El cambio de hilo se puede hacer más rápido que el cambio de proceso.
➡️ El bloqueo de un hilo hace que se bloquee todo el proceso.
✔️ Modelo de hilo único a nivel de kernel:
➡️ Cada proceso contiene un solo hilo
➡️ El hilo utilizado aquí es el hilo a nivel de kernel.
➡️ La mesa de proceso funciona como mesa de hilo.
✔️ Modelo de subprocesos múltiples a nivel de kernel:
➡️ La programación de subprocesos se realiza a nivel de kernel.
➡️ Si un hilo se bloquea, se puede programar otro hilo sin bloquear todo el proceso.
➡️ La programación de subprocesos en el proceso Kernel es más lenta en comparación con la programación de subprocesos a nivel de usuario.
➡️ El cambio de hilo implica un cambio.

Actor Model
En si los actores son livianos y es muy facil crear millones de ellos, debido a que requieren menos recursos que los subprocesos.
Toda la computacion es afectuada dentro del actor
En respuesta a un mensaje recibido un actor puede:
✔️ Cambiar su estado o comportamiento.
✔️ Crear un numero infinito de actores hijos.
✔️ Enviar mensajes a otros actores.
✔️ El estado del actor esta aislado es decir nunca expuesto a mundo exterior. Este dato nos puede resultar interesante cuando estamos trabajando con aplicaciones ampliamente concurrentes, ya que no permitimos que los actores no puedan ver ni modificar el estado de otro actor.
✔️ El actor no es igual a Thread.
✔️ El actor no retiene el hilo para siempre
✔️ Cuando el actor obtiene alguna tarea, Thread trabaja para que Actor termine la tarea
✔️ Actor utiliza de manera eficiente hilos de Java
✔️ Puede crear miles de actores y hacer su trabajo al mismo tiempo
✔️ Cuando se usa Actor, no tiene que preocuparse por bloqueos y proteccion estatal.
✔️ Un actor es solo una abstracción para conectar procesos asincrónicos.

Actor Model ➡️ Las implementaciones más famosas de Actor Model son Akka y Erlang.

➡️ Un modelo de actor en actor es una unidad fundamental de cálculo, puede realizar las siguientes acciones. Crear otro actor Enviar un mensaje Designar cómo manejar el siguiente mensaje.

Visita https://medium.com/@KtheAgent/actor-model-in-nutshell-d13c0f81c8c7
Visita https://www.geeksforgeeks.org/thread-models-in-operating-system/
Clone this wiki locally