Índice de contenido
Tradicionalmente, el envío de un mensaje se trata como una llamada de procedimiento, en la que el la ejecución del objeto que llama se bloquea hasta que se devuelve una respuesta. Sin embargo, podemos extender este modelo simplemente para ver cada objeto como un ejecutable concurrente programa, con actividad que comienza cuando se crea el objeto y continúa incluso cuando se envía un mensaje a otro objeto (a menos que se requiera la respuesta para más Procesando). En este modelo, puede haber muchos objetos (simultáneos) ejecutándose al mismo tiempo. Por supuesto, esto introduce problemas asociados con la asignación de recursos. cación, etc. pero no más que en cualquier sistema concurrente. Una implicación del modelo de objetos concurrentes es que los objetos son más grandes que en el enfoque tradicional de un solo hilo de ejecución, debido a la sobrecarga de tener cada objeto como un hilo de ejecución separado. Gastos generales como la necesidad de un programador para manejar estos hilos de ejecución y mecanismos de asignación de recursos significa que no es factible tener enteros, caracteres, etc. como procesos separados. 29.8 Hilos V Procesos Como parte de esta discusión, es útil comprender qué se entiende por proceso. Un proceso es una instancia de un programa de computadora que está siendo ejecutado por el Sistema operativo. Cualquier proceso tiene tres elementos clave; el programa que se está ejecutando, los datos utilizados por ese programa (como las variables utilizadas por el programa) y el estado del proceso (también conocido como el contexto de ejecución del programa). Un subproceso (Python) es un proceso ligero preventivo. Se considera que un subproceso es preventivo porque cada subproceso tiene la oportunidad de ejecutar como el hilo principal en algún momento. Cuando un hilo llega a ejecutarse, lo hará ejecutar hasta • finalización, • hasta que esté esperando algún tipo de E/S (Entrada/Salida), • duerme por un período de tiempo, • se ha ejecutado durante 15 ms (el umbral actual en Python 3). Si el subproceso no se ha completado cuando ocurre una de las situaciones anteriores, entonces se deja de ser el hilo de ejecución y se ejecutará otro hilo en su lugar. Este significa que un subproceso se puede interrumpir en medio de la realización de una serie de pasos relacionados. Un subproceso se considera un proceso ligero porque no posee su propio espacio de direcciones y no es tratado como una entidad separada por el host operativo sistema. En cambio, existe dentro de un proceso de una sola máquina que usa la misma dirección espacio. Es útil tener una idea clara de la diferencia entre un hilo (ejecutándose dentro de un proceso de una sola máquina) y un sistema multiproceso que utiliza procesos separados en el hardware subyacente. 29.7 Orientación a Objetos y Concurrencia 343
popular post
El modelo AR de series temporales univariadas
Resumen: En esta entrada, descubrirá el modelo AR: El modelo autorregresivo.
Leer másEvaluación de modelos para pronosticar
Resumen: Al desarrollar modelos de aprendizaje automático, generalmente se comparan varios modelos durante la fase de construcción.
Leer másModelos para pronosticar
Resumen: El pronóstico, traducido groseramente como la tarea de predecir el futuro, ha estado presente en la sociedad humana durante siglos.
Leer más