java multithreading: 1, la diferencia entre hilos y procesos? Paralelas (asíncrono) y la diferencia concurrente (síncrono)? ¿Qué demonio de hilos son?

1, la diferencia entre hilos y procesos?

(1) La diferencia fundamental entre
el proceso es una unidad de asignación de recursos;
hilo es las unidades de programación y ejecución.

(2) overhead
proceso de conmutación de cabeza más grande. Cada proceso tiene su propio espacio de código y datos.
Pequeña sobrecarga de conmutación hilo. Hilo puede ser visto como procesos ligeros, hilos comparten el mismo tipo de código y espacio de datos, cada hilo tiene su propia pila de funcionamiento independiente.

(3) el medio ambiente en
el proceso: para ejecutar varias tareas (programas) al mismo tiempo en el sistema operativo.
Tema: Aplicación uniforme tiene múltiples flujo secuencial de ejecución simultáneamente.

(4) la asignación de memoria
proceso: durante el funcionamiento del sistema asignará diferentes áreas de la memoria para cada proceso.
Tema: hilo de recursos utiliza los recursos de que pertenece al proceso, grupo de hilos pueden compartir recursos.

(5) contiene la relación
es sólo un hilo puede ser visto como proceso de una sola rosca. Si un proceso tiene múltiples hilos, a continuación, la ejecución no es una línea, sino múltiples hilos emprendido conjuntamente.
El proceso es el hilo del recipiente, el hilo es parte del proceso, se puede decir hilos son procesos ligeros.

2, paralelo (asíncrono) y la diferencia concurrente (síncrono)?

Mi opinión es que la concurrencia y el procesamiento en paralelo están en la cara de múltiples tareas describir:

Si usted dice que usted está ahora en vegetales, la madre le dice a coger el teléfono.

(1) (suplente hacer las cosas diferentes) y luego volver si deja de cortar, contestar el teléfono, contesta el teléfono continúe terminar la cocción. Esto es concurrente.
(2) (al mismo tiempo para hacer algo diferente) Si la respuesta es el lado de verduras lado del teléfono, de forma simultánea. Este es el paralelo.

En otras palabras, la sincronización es alternativamente trabajo, mientras que el trabajo es asíncrona.

3, guarda lo que las discusiones son?

(1) Cuando un hilo daemon es el hilo principal que va hilos daemon corren juntos. Cuando el hilo principal de la destrucción, la destrucción de hilos daemon juntos. Por ejemplo GC. Método de ajuste es como sigue hilos demonio.

// 标识当前方法为守护线程,一定要在启动线程前设置为守护线程
thread.setDaemon(true);
thread.start();

roscas (2) no daemon todavía siguen funcionando después de que el extremo del hilo principal, el hilo principal de la otra.

Publicado 57 artículos originales · alabanza ganado 13 · vistas 1099

Supongo que te gusta

Origin blog.csdn.net/weixin_42924812/article/details/105209740
Recomendado
Clasificación