2009-08-21 21 views

Respuesta

17

Multithreading como un modelo extendido de programación y ejecución permite que múltiples hilos existan dentro del contexto de un solo proceso. Estos subprocesos comparten los recursos del proceso pero pueden ejecutarse de forma independiente. El modelo de programación con hilos proporciona a los desarrolladores una abstracción útil de ejecución concurrente. Sin embargo, tal vez la aplicación más interesante de la tecnología es cuando se aplica a un solo proceso para permitir la ejecución paralela en un sistema multiprocesador.

Eso significa que una sola process puede tener muchas "funciones" diferentes executingconcurrently, lo que permite que la aplicación utilice mejor el hardware disponible (varios núcleos/procesadores). Los hilos pueden comunicarse entre ellos (tienen shared memory), pero es un hard problem para tener cada hilo behave well con others al acceder a objetos compartidos/memoria.

El subprocesamiento permite que una aplicación permanezca receptiva, sin el uso de un bucle de aplicación catch all, al realizar operaciones prolongadas.

Por ejemplo, un programa no roscado copy no le permite hacer nada hasta que la copia finalice.

Enhebrar ayuda con problemas complejos, largos e independientes, pero trae consigo a lot more complexity, que lo hace difícil incluso para los desarrolladores experimentados.

1

Es una aplicación que usa más de un thread internamente para lograr su objetivo.

Hay muchos ejemplos, ya que la mayoría de las aplicaciones que necesitan interactuar con un usuario tienen un subproceso de interfaz de usuario y un conjunto de subprocesos de trabajo. Esto se hace para permitir que la interfaz de usuario permanezca receptiva mientras la aplicación está ocupada haciendo alguna tarea.

+4

Process! = Thread – ripper234

1

Una aplicación de subprocesos múltiples aprovecha la ejecución de varias tareas al mismo tiempo para acelerar las cosas. El multihilo también puede aprovechar múltiples máquinas de CPU.

2

Es una aplicación que puede hacer varias cosas a la vez. Por ejemplo, si está atando un documento en Word, hay un hilo que responde a su teclado, hay un hilo que verifica su ortografía, hay uno que está verificando su gramática, puede haber otro hilo guardando una copia de seguridad de su documento en caso de que bloqueos del programa.

0

Es un programa que usa más de un thread. Los diferentes subprocesos pueden acceder a las estructuras de memoria compartida (generalmente utilizando el synchronization mechanisms apropiado, por ejemplo, locks). Un ejemplo sería un programa que descarga algunos archivos al mismo tiempo, cada descarga con un hilo diferente para acelerar el proceso de descarga (hay formas más sofisticadas de lograr eso, esto es solo un ejemplo).

Multi-threading se utiliza a menudo en tareas vinculadas a la CPU, que se benefician del uso de todos los núcleos en una computadora moderna (por ejemplo, tratando de romper una cifra utilizando varios procesadores). La diferencia entre un hilo y un proceso es que los diferentes procesos no pueden compartir directamente la

0

lo que dijo

La aplicación de hilos y procesos difiere de un sistema operativo a otro, pero en la mayoría de los casos, un hilo está contenido dentro de un proceso. Pueden existir múltiples hilos dentro del mismo proceso y compartir recursos como la memoria, mientras que los diferentes procesos no comparten estos recursos.

-1

para thread tienes que saber el proceso que no es más que una instancia del programa toma un ejemplo de paint in windows cuando lo ejecutas, hace una instancia o proceso de paintprogram. Cuando abre una imagen múltiple en una ventana diferente, hace un proceso múltiple de ese programa. Del mismo modo, el hilo es una unidad de proceso significa que ves una ventana de pintura, pero en el fondo hay varios hilos, por ejemplo, color, pincel, lápiz, etc. El hilo está ahí para reducir la carga de trabajo del procesador

Cuestiones relacionadas